【发布时间】:2012-04-01 16:44:59
【问题描述】:
我正在尝试使用 Facebook 查询语言 (FQL) 来获取安装了我的应用程序的朋友列表。在验证我的应用并获取我的应用访问令牌后,我正在执行以下查询(注意我使用 Java 和 RestFB 运行):
https://api-read.facebook.com/method/fql.query?query=SELECT+uid+FROM+user+WHERE+uid+IN+%28SELECT+uid2+FROM+friend+WHERE+uid1%3D<userId>%29+AND+is_app_user%3D1&access_token=<appAccessToken>&format=json
这会返回一个错误:
..."error_code":102,"error_msg":"Requires user session"
同样,如果我尝试将 FQL 与图形 API 一起使用(如下所示),我会遇到同样的错误。
https://graph.facebook.com/fql?q=SELECT+uid+FROM+user+WHERE+uid+IN+%28SELECT+uid2+FROM+friend+WHERE+uid1%3D<userId>%29+AND+is_app_user%3D1&access_token=<appAccessToken>&format=json
所以我尝试使用用户访问令牌并按预期工作。我进行了相当多的搜索,发现了这个: Facebook 'Friends.getAppUsers' using Graph API
这有一些很好的建议并引导我尝试以下查询:
https://graph.facebook.com/<userId>/friends?fields=installed&access_token=<appAccessToken>&format=json
这会返回带有应用访问令牌的朋友列表。
这引出了我的问题。为什么我无法通过 FQL 使用应用访问令牌来获取好友列表,但我可以通过 Graph API 检索好友?
提前致谢,
本
【问题讨论】:
标签: facebook facebook-graph-api facebook-fql restfb