Sharepoint online: программно публиковать в ленте новостей - PullRequest
0 голосов
/ 04 июня 2018

Я хочу создать веб-часть, которая может публиковать данные в конкретную ленту новостей Sharepoint, но не смогла найти какую-либо хорошую документацию.Единственная ссылка, которую я нашел, была: https://msdn.microsoft.com/library/e9ad06a1-831d-8ed0-c76e-8b049f14216f%28Office.15%29.aspx

Мой вопрос: Какой метод я могу использовать для публикации данных в новостной ленте сайта Sharepoint?

Вссылка, в которой они упоминают, что вы можете опубликовать на «URL канала сайта».Это то же самое, что и лента новостей?Кто-нибудь, кто сделал что-то подобное?

1 Ответ

0 голосов
/ 05 июня 2018

Мы можем использовать JSOM или REST API для его достижения.

REST API :

<script type="text/javascript" src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(function(){   
    $.ajax( {
        url: weburl + "/_api/social.feed/my/Feed/Post",
        type: "POST",
        data: JSON.stringify({ 
            'restCreationData':{
                '__metadata':{ 
                    'type':'SP.Social.SocialRestPostCreationData'
                },
                'ID': null, 
                'creationData':{ 
                    '__metadata':{ 
                        'type':'SP.Social.SocialPostCreationData'
                    },
                    'ContentText': "the post content text",
                    'UpdateStatusText':false
                } 
            } 
        }),
        headers: { 
            "accept": "application/json;odata=verbose",
            "content-type":"application/json;odata=verbose",
            "X-RequestDigest": $("#__REQUESTDIGEST").val()
        },
        success: function(){
            console.log("success to post ");
        },
        error: function (xhr, ajaxOptions, thrownError) { 
            alert("POST error:\n" + xhr.status + "\n" + thrownError);
        }
    });
});
</script>

JSOM :

<script type="text/javascript" src="/_layouts/15/sp.userprofiles.js"></script>
<script type="text/javascript">
SP.SOD.executeOrDelayUntilScriptLoaded(WritePost, 'SP.UserProfiles.js');
function WritePost() {
    var oclientContext;
    var ofeedManager;
    var oresultThread;

    // Initialize the current client context and the SocialFeedManager instance.
    oclientContext = SP.ClientContext.get_current();
    ofeedManager = new SP.Social.SocialFeedManager(oclientContext);

    // Add a link to be included in the post.
    var olinkDataItem = new SP.Social.SocialDataItem();
    olinkDataItem.set_itemType(SP.Social.SocialDataItemType.link);
    olinkDataItem.set_text('My blog url');
    olinkDataItem.set_uri('http://sundarnarasiman.net');
    var osocialDataItems = [ olinkDataItem ];

    // Set up the post content
    var opostCreationData = new SP.Social.SocialPostCreationData();
    opostCreationData.set_contentText('The text for the post, which contains a {0}.');
    opostCreationData.set_contentItems(osocialDataItems);

    // Write the post
    oresultThread = ofeedManager.createPost(null, opostCreationData);
    oclientContext.executeQueryAsync(WriteSucceeded, WriteFailed);
}

function WriteSucceeded(sender, args) {
    //$get("ResultMessage").innerText = 'Successfully posted the message to Posts';
}
function WriteFailed(sender, args) {
    //$get("ResultMessage").innerText = 'Failure in writing message' + args.get_message();
}
</script>

См .:

Опубликовать / ответить на сообщение с помощью социальной сети REST API в SharePoint 2013

Как опубликовать сообщение в SharePoint SocialЛента с использованием SharePoint 2013 JSOM

...