我正在开发一个网络应用程序,连接到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,但它也没有帮助.
我真的很感激任何帮助.
我在我的Facebook应用程序上使用php sdk并要求获得所需的扩展权限.我可以从api调用中使用我的应用程序的用户更新所有状态
$statuses = $facebook->api('/me/statuses?limit=0');Run Code Online (Sandbox Code Playgroud)
但是当我和这个用户的朋友使用相同的方法时.
$friendStatuses = $facebook->api('/'.$user_id.'/statuses?limit=0');Run Code Online (Sandbox Code Playgroud)
我有一个空白阵列.我试图不使用"?limit = 0",但结果仍然相同.
我也试过用
$friendFeed = $facebook->api('/'.$user_id.'/feed?limit=0');Run Code Online (Sandbox Code Playgroud)
并从该用户获得了一些提要,但并非全部.即使我将"?limit = 0"更改为"limit = 1000",但我获得的Feed大约是500项,但该用户的Feed比肯定更多.
我的工作是收集用户和朋友的状态并将其聚类.
在这个问题的时候,如果你去这里:
http://www.facebook.com/realplayer
你会看到六个帖子,我发布了一张照片,上面写着"#highfive Cincinnati,OH"
但是如果你选择其中任何一个:
http://graph.facebook.com/realplayer/feed
http://graph.facebook.com/realplayer/tagged
返回的JSON似乎包括墙上的所有内容,除了MY post.还有另一张照片来自我家下面的其他人,它正在显示(我的照片和他的照片都在"粉丝照片"部分)
显然,既然我已经可以看到所有这些链接,看来access_token不是等式的一部分...但是,更多信息:
所以我很困惑.
如果世界上的每个人都可以在墙上看到这些帖子而不进行身份验证,那么我希望他们所有人都能回到图表api中.
有没有人有这个想法?
我知道"manage_page"权限...我可以用来获取这些页面的帐户列表和特殊的离线访问令牌......这是我可以探索的东西......但是看起来很多工作我的帖子似乎应该出现在图表中