如何使用SharePoint 2013中的回复映射actor

时间:2016-06-01 09:54:49

标签: sharepoint sharepoint-2013 sharepoint-workflow

这是我的REST API来获取我的新闻,

http://Mydomain/_api/social.feed/my/news 

我得到回复。我的样本回复是,

<d:Threads m:type="Collection(SP.Social.SocialThread)">
      <d:element>
              <d:Actors m:type="Collection(SP.Social.SocialActor)">
                 <d:element>
                    <d:AccountName>USER1</d:AccountName>
                             .
                             .
                             .
                             .
                             .


                 <d:element> 
                 <d:element>
                    <d:AccountName>USER2</d:AccountName>
                             .
                             .
                             .
                             .
                             .


                 <d:element>
                 <d:element>
                    <d:AccountName>USER3</d:AccountName>
                             .
                             .
                             .
                             .
                             .


                 <d:element>
             </d:Actors>
      <d:element>

      <d:Replies m:type="Collection(SP.Social.SocialPost)">
                  <d:element>
                     <d:Attachment m:null="true" />
                        .
                        .
                        .

                     <d:Text>Reply1</d:Text>

                  </d:element> 

                  <d:element>
                     <d:Attachment m:null="true" />
                        .
                        .
                        .

                     <d:Text>Reply2</d:Text>

                  </d:element> 

                  <d:element>
                     <d:Attachment m:null="true" />
                        .
                        .
                        .

                     <d:Text>Reply3</d:Text>

                  </d:element> 

                   <d:element>
                     <d:Attachment m:null="true" />
                        .
                        .
                        .

                     <d:Text>Reply4</d:Text>

                  </d:element> 

                  <d:element>
                     <d:Attachment m:null="true" />
                        .
                        .
                        .

                     <d:Text>Reply5</d:Text>

                  </d:element> 
      </d:Replies>

 <d:Threads>

我的目标是这样显示

USER2发布了Reply3; USER3发表回复4

但是在这里如何将演员映射到回复?作者和回复之间没有共同的id或其他属性。

1 个答案:

答案 0 :(得分:0)

以下代码在我们的项目中有效:

end point url: 'http://xxxxxxx/_api/social.feed/post'

    var postContent = "";

    //root post
    var feed = jsonObject.d.SocialThread.RootPost.Text;            
    postContent += "RootPost: " + feed + "\n";  

        var socialActors = jsonObject.d.SocialThread.Actors.results;

        //replies to root post
        var socialReplies = jsonObject.d.SocialThread.Replies.results;

        if (socialReplies.length >= 1) {

            for (var i = 0; i < socialReplies.length; i++) {

            postContent += "AuthorIndex: " + socialActors[socialReplies[i].AuthorIndex].Name  + "\n";

            postContent += "Reply Result Text: " + socialReplies[i].Text + "\n";    


            }

        }

        alert(postContent);