Facebook Connect Graph状态对象的注释限制为25
-
13-10-2019 - |
题
有谁知道为什么给定的图形状态更新对象有多少评论,它将评论在25点上加上评论?我觉得它只会返回对象上实际评论的“示例”。我该如何强迫它在不使用FQL API的情况下将它们全部拿到?
解决方案
这就是图API的工作方式。看看API文档。您一次获得25个,必须循环通过它们。您可以将批处理中最后一个注释的时间戳(create_time)用作下一个图形API调用中的参数,也可以使用 offset
范围。这就是我一直在做的。我遇到了一些螺丝 created_time
. 。这是我的C#测试应用程序中的一个示例。忽略对 PostComment
对象只是我创建的数据结构,以保存要删除的数据。魔术(以及我引用的过程)是在传递给图形呼叫的参数中:
parameters.Add("offset", numPostComments);
parameters.Add("limit", 25);
我可以肯定的是,您可以将“限制”设置为25或以下的任何事物。
do
{
foreach (var comment in comments.data)
{
numPostComments++;
PostComment pc = new PostComment();
pc.Post_ID = p.Id;
pc.Facebook_ID = comment.id;
pc.From = comment.from.name;
if (comment.likes != null)
pc.Likes = (int)comment.likes;
pc.CommentDate = DateTime.Parse(comment.created_time);
pc.CommentText = comment.message;
p.Comments.Add(pc);
}
// Create new Parameters object for call to API
Dictionary<string, object> parameters = new Dictionary<string, object>();
parameters.Add("offset", numPostComments);
parameters.Add("limit", 25);
// Call the API to get the next block of 25
comments = client.Get(string.Format("{0}/comments", p.Facebook_ID), parameters);
} while (comments.data.Count > 0);
其他提示
我希望这个链接能帮助您
不隶属于 StackOverflow