【问题标题】:Facebook API: friends' hometown_location and current_location always empty using FQLFacebook API:朋友的 hometown_location 和 current_location 总是使用 FQL 为空
【发布时间】:2013-07-17 14:52:33
【问题描述】:

我一直在从各个可能的角度看待这个问题,但我无法下定决心,也许你们可以提供帮助。我运行这个查询来获取我朋友的家乡和位置:

SELECT uid, name, timezone, hometown_location, current_location 
FROM user WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1 = me() )

hometown_location 和 current_location 总是 NULL,即使它们不应该是。使用 /me/friends?fields=hometown,location,... 之类的结果相同。

另外,查询我自己的 hometown_location 和 current_location 也可以。这让我觉得我没有权限访问我朋友的家乡和位置。但如果是这种情况,不应该引发错误吗?

不过,我的应用具有相同的权限:user_about_me、friends_about_me、user_hometown、friends_hometown、user_location 和 friends_location,所以我认为这不是问题。

如果我转到http://developers.facebook.com/docs/reference/api/ 并单击https://graph.facebook.com/me/friends?access_token=... 链接,并附加&fields=name,hometown,它可以工作,所以我知道它可以完成。

知道我做错了什么吗?

非常感谢!

曼努埃尔

【问题讨论】:

  • 好吧,忘了这个。。我前段时间从 JS SDK 登录切换到服务器端登录,现在我传递的是 req_perms 参数而不是“范围”,所以它只是采用我不久前接受的权限。
  • 我在 iOS 中使用 facebook SDK 的 FQL 遇到了同样的问题。知道问题是什么吗?

标签: facebook facebook-graph-api facebook-fql


【解决方案1】:

对于friends_hometown,您需要friends_hometown 权限。

对于 current_location,您需要 friends_location 权限。

确保您拥有这些权限后,您应该能够通过运行该查询或通过 Graph API - https://graph.facebook.com/FRIEND_ID?fields=hometown,location 以及具有这些权限的 access_token 来获取数据。

【讨论】:

  • 感谢 Christine,我没有正确设置它们。呵呵!
【解决方案2】:

您使用的是 Simon Cross 的界面吗? https://www.simoncross.com/fb/graph/ 它可以帮助您了解问题所在。尝试重新生成您的 access_token,您可能仍使用旧令牌,该令牌没有对friend_hometown 的扩展权限。 如果您(或使用的令牌)无权访问数据,API 不会抛出任何类型的错误

【讨论】:

    猜你喜欢
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-06-03
    • 2016-04-22
    • 1970-01-01
    • 2012-08-10
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多