【发布时间】:2017-05-16 01:53:50
【问题描述】:
我有一个 facebook Graph API 调用来获取 facebook 用户供稿:
dynamic myFeed = await fb.GetTaskAsync(
("me/feed?fields=id,from {{id, name, picture{{url}} }},story,picture,link,name,description," +
"message,type,created_time,likes,comments")
.GraphAPICall(appsecret_proof));
上面返回了一段时间内的一些最新用户帖子,比如 21 或 22 个帖子,但不是用户帖子的完整列表。 我搜索了一种使用 facebook 分页遍历用户提要的方法,最终找到了适用于 facebook Offset 分页的解决方案。
dynamic myFeed = await fb.GetTaskAsync(
("me/feed?fields=id,from {{id, name, picture{{url}} }},story,picture,link,name,description," +
"message,type,created_time,likes,comments")
.GraphAPICall(appsecret_proof), new {limit = "1000", offset = "21" });
这使我离我想要实现的目标更近了一步,但我认为这不是理想的方法,而且它也不会返回所有用户的帖子。 有什么解决方法吗?请帮忙。
P.S:我正在使用 Facebook C# SDK。
更新1: 根据杰里米的回答。似乎 facebook 光标分页是满足我要求的唯一正确选择。我想知道 C# facebook sdk 是否提供任何功能来迭代 Next Edges,以便我可以在一次调用中获取所有提要帖子,是否有任何可能的解决方案? PS:我已经多次阅读 facebook API 文档,我知道节点、边缘和字段到底是什么,唯一不幸的是 facebook 还不支持 C# SDK,我无法找到合适的文档Facebook C# SDK 也是如此。
【问题讨论】:
-
除非 Graph API 在最近的几个版本中发生了变化,否则它实际上不会那样工作。 Facebook 帖子处于边缘,如果您想获得用户的所有帖子,您必须保持浏览边缘(更新新项目)。你用 Offset 找到的是最接近的。您可以在 FB API 文档中阅读此内容。
标签: c# facebook facebook-graph-api pagination facebook-c#-sdk