这是我的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或其他属性。
答案 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);