我本质上是想回到所有facebook朋友的家乡信息。 这是我想要执行的查询:
SELECT name, uid, hometown_location FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me())
但是,出于某种原因,此查询为MOST用户的hometown_location返回“null”。 是的,我的权限设置正确。
让我们看一个随机用户,比如id = 805246.如前所述,上面的查询返回一个null hometown位置。但是,以下查询CORRECTLY返回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)
那是什么给了什么?
答案 0 :(得分: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命中图形API?fields = id,location会返回一些位置为null结果的用户,只有少数用户拥有真实的位置数据。如果您随后单独请求任何具有空位置的朋友,他们会返回完整的结果。
这与图搜索的发布一起开始发生,因此它可能是相关的。