0

我基本上是在尝试为我所有的 Facebook 朋友返回家乡信息。这是我要执行的查询:

SELECT name, uid, hometown_location FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me())

但是,由于某种原因,此查询为大多数用户的 hometown_location 返回“null”。是的,我的权限设置正确。

让我们随机选择一个用户,比如 id = 805246。如前所述,上面的查询返回一个空的家乡位置。但是,以下查询正确地返回 hometowm_location:

SELECT name, uid, hometown_location FROM user WHERE uid = 805246

和这个一样:

SELECT name, uid, hometown_location FROM user WHERE uid IN (805246, 211375, 3438)

那么给了什么?

4

1 回答 1

1

这是 API 的一个错误,在这里:https ://developers.facebook.com/bugs/487611667944115 (请务必转到错误帖子并标记您能够重现它,以便它得到更多关注FB修复。)

您可以在这里找到类似的堆栈溢出帖子:http: //facebook.stackoverflow.com/questions/14350661/facebook-api-friend-location-object-being-returned-with-empty-string-for-id-and

本质上是一个批量请求......就像使用 /me/friends?fields=id 访问图形 API,location 返回一些用户的位置结果为空,而只有少数用户拥有真实的位置数据。如果您随后单独请求任何具有空位置的朋友,他们会返回完整结果。

这开始与 Graph Search 的发布一起发生,因此它可能是相关的。

于 2013-01-21T05:25:25.233 回答