Ale*_*ska 13 facebook facebook-graph-api
我正在开发一个网络应用程序,连接到Facebook,获取帖子,以及用户喜欢的其他东西.我在使用新闻源(Grap API的家庭连接)从用户页面获取所有帖子时遇到问题.
在我的应用程序中为用户获取访问令牌时,我要求read_stream,user_activities和脱机访问权限.然后,当我使用该令牌时,获取json feed
https://graph.facebook.com/me/home/?access_token=<retrived_access_token>
Run Code Online (Sandbox Code Playgroud)
一些帖子(显示在用户页面上)丢失了.我发现我的朋友的帖子只能由他们的朋友看到,不会显示在该Feed中.同样的问题是当前我订阅的用户帖子.
我正在搜索那段时间,我发现,当我使用来自http://developers.facebook.com/docs/reference/api/的链接来获取我的新闻源时,还有更多的帖子.它似乎使用为facebook api为测试控制台应用程序生成的令牌.
然后我尝试生成访问令牌,使用http://developers.facebook.com/tools/explorer?method=GET给我类似的结果.但即使我向生成的令牌提供所有可能的权限,我也无法使其正常工作,但仍有一些缺失的帖子.
我在那篇文章中读到了答案,Facebook图形API没有返回用户的所有帖子,这表明这是因为发布帖子的人员设置的权限,他们不希望应用程序检索他们的数据.我运行了一些快速测试,我发现更改该设置是有效的(当有人更改该设置时,她的帖子将从两个提要中消失 - 使用我的app标记为用户,以及在api参考页面上的链接下),但它不是案子.
似乎在api参考页面上生成的此令牌具有特殊权限.
我真的需要从用户页面获得尽可能多的帖子.我知道我不会被他们的作者阻止,但是由于我的许多用户订阅了其他用户,我真的需要访问用户页面上显示的那种帖子.
我还阅读了Facebook图形API:json响应中缺少的feed,但它也没有帮助.
我真的很感激任何帮助.
不可能从 feed / home Graph API 获取完整的帖子列表,但您可以使用 FQL 查询表stream
以获取朋友发布的几乎所有帖子,这里有一个快速示例,说明如何使用 javascript 执行此操作开发工具包:
var query = 'SELECT post_id FROM stream WHERE filter_key = "others"';
FB.api('fql', {'q': query}, function(posts) { console.log(posts.data); });
Run Code Online (Sandbox Code Playgroud)
这将为您提供帖子 ID,然后您可以将其与图形 api 一起使用来获取其余的帖子信息。或者您可以在此处获取完整的字段列表,您无法在 FQL 中选择 *,因此您必须列出您想要的每个部分,然后分别获取评论、喜欢和名称。
归档时间: |
|
查看次数: |
4048 次 |
最近记录: |