【问题标题】:Sharepoint online: Programmatically post to news feedSharepoint online:以编程方式发布到新闻源
【发布时间】:2018-11-13 13:28:30
【问题描述】:

我想创建一个可以将数据发布到特定 Sharepoint 新闻提要的 Web 部件,但找不到任何好的文档。我找到的唯一链接是: https://msdn.microsoft.com/library/e9ad06a1-831d-8ed0-c76e-8b049f14216f%28Office.15%29.aspx

我的问题是:我可以使用什么方法将数据发布到 Sharepoint 网站的新闻提要?

在他们提到的链接中,您可以发布到“站点提要的 URL”。这和新闻提要一样吗?有人做过类似的吗?

【问题讨论】:

    标签: sharepoint web-parts feed


    【解决方案1】:

    我们可以使用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>
    

    参考:

    Post/Reply a post by Social feed REST API in SharePoint 2013

    How to publish a post to SharePoint Social Feed using SharePoint 2013 JSOM

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2020-01-27
      • 1970-01-01
      • 2023-03-28
      相关资源
      最近更新 更多