Facebook 为什么此FQL调用失败?

Facebook 为什么此FQL调用失败?,facebook,facebook-fql,Facebook,Facebook Fql,当我执行如下FQL查询时(其中是我的FB朋友的Facebook ID): 对我来说,这似乎是错误的,因为政府显然使用了这个例子 如果获取流过滤器的唯一方法是调用WHERE uid=me(),那么WHERE子句的意义是什么 这是我的访问令牌的权限问题吗?如果您正在基于朋友的uid执行FQL查询,您需要获得授权。授权后,您可以将用户(在本例中是您的朋友)授予的访问令牌添加到您的查询中,并拥有获取您要查询的结果的权限 这是因为您试图获取属于用户的数据,在本例中,这些数据是他们的新闻提要,由他们的朋友创

当我执行如下FQL查询时(其中
是我的FB朋友的Facebook ID):

对我来说,这似乎是错误的,因为政府显然使用了这个例子

如果获取流过滤器的唯一方法是调用
WHERE uid=me()
,那么
WHERE
子句的意义是什么


这是我的访问令牌的权限问题吗?

如果您正在基于朋友的uid执行FQL查询,您需要获得授权。授权后,您可以将用户(在本例中是您的朋友)授予的访问令牌添加到您的查询中,并拥有获取您要查询的结果的权限

这是因为您试图获取属于用户的数据,在本例中,这些数据是他们的新闻提要,由他们的朋友创建的帖子和他们关注的页面组成,这些数据基本上属于他们。您需要获得授权才能访问他们的数据或代表他们发布照片等

但是,如果您试图获得他们自己生成的帖子流,您完全可以获得这些帖子,假设它们是公共的,并且可以通过设置的权限访问。您可以使用图形API调用:

https://graph.facebook.com/<userId>/feed?access_token=<your access token>
https://graph.facebook.com/me/home?access_token=<your access token>

这进一步确认,除非您获得其他用户的许可,否则您无法访问其他用户的新闻提要,即被授予属于他们的访问令牌。

用户不应该有权访问其他用户的访问令牌。我不是想代表我的朋友,我只是想得到他的新闻提要。用户不应该这样做,但你正在开发的应用程序可以。如果你只是想得到他的新闻提要(他朋友的帖子,他可以在主页上查看),这仍然是一个隐私问题。即使他向所有人公开了这一切,即使是他不是朋友的人,这仍然是他自己的新闻提要,只有他可以通过API和FQL访问。您不能使用自己的访问令牌访问它。通过任何正常的方式都无法看到朋友自己的新闻。您只能看到自己的新闻提要。但如果你想让他们公开他自己的行为,你可以。我已经更新了我的答案,表明你可以获得其他用户自己生成的项目提要。你仍然看不到他们的朋友生成的个人新闻提要和他们关注的页面。你的解释很有道理。你的假设是正确的——我的最终目标是得到一份我朋友发表的帖子列表。但是,当我使用您提供的graph API调用时,它告诉我我的朋友“喜欢链接”,但它没有告诉我链接是什么。如果您对此有解决方案,请参阅我的其他问题:
https://graph.facebook.com/<userId>/feed?access_token=<your access token>
https://graph.facebook.com/me/home?access_token=<your access token>
{
  "error": {
    "message": "You can only access the \"home\" connection for the current user.", 
    "type": "GraphMethodException", 
    "code": 100
  }
}