通过Facebook Graph可以看到哪些用户帖子可见?

时间:2012-05-10 16:15:26

标签: facebook facebook-graph-api facebook-access-token

我正在提出以下请求:

https://graph.facebook.com/USER_ID/posts?access_token=TOKEN

当TOKEN来自Graph API资源管理器(来自我自己的用户帐户登录的https://developers.facebook.com/tools/explorer)时,我会看到大多数用户的一些帖子。

当TOKEN是我自己的应用程序的用户令牌和我自己的用户帐户(由客户端流程[*]产生)时,我看到几乎每个人都有{ "data": [] }

可能导致差异的原因是什么?据我所知,这两个令牌被赋予了相同的权限(我从https://graph.facebook.com/me/permissions?access_token=TOKEN得到两个令牌的相同回报)。

我能想到的是,我正在寻找的帖子的用户不是我的应用的用户,但也许每个人都神奇地是API Explorer的用户。但是我想看到的关于它们的信息在我们的用户页面和使用API​​ Explorer令牌的Graph中都是可见的,所以这肯定不是安全限制:可以得到一个令牌显示我想要的信息,但我的应用程序不能。因此:

  • 使用我的应用时,为什么我的帖子不可见?
  • 我该怎么办?
  • 我们目前的理论是,API资源管理器具有访问公共数据的特殊权限,而其他应用程序无法获得这些权限。这是真的吗,还是我可以用我的应用程序通过/posts查看公共数据?

[*]使用网址:https://www.facebook.com/dialog/oauth?client_id=MY_APP_ID&redirect_uri=https://www.facebook.com/connect/login_success.html&scope=manage_pages,read_stream,read_requests,user_location,user_activities&response_type=token

1 个答案:

答案 0 :(得分:1)

我看到你在说什么,我自己测试了,我得到了同样的结果。 这就是我的想法,但这只是猜测。

根据我刚刚测试的内容,使用图形浏览器应用程序时返回的数据是用户的公共数据,如新朋友和公共帖子。 如果我在Facebook中查看用户的个人资料,我可以看到相同的确切数据。

为什么您的应用无法获取该公开数据? 好吧,Facebook授予某些应用程序特殊权限,而对于图形资源管理器,这是他们的应用程序,认为他们就是这样做并不遥远。 为了测试这个理论,我删除了我对图浏览器的所有权限,并尝试获取不是我朋友的用户的帖子,实际上我得到了相同的结果。 当我用“我/帖子”测试它时,我得到了我的帖子,而不仅仅是公开的帖子。 如果您从自己的应用中删除了权限,那么即使您的帖子也会返回数据:[]

您的应用只能获取登录用户及其朋友的数据。