FB图/ FQL:朋友CURRENT_LOCATION有时读空当FB页面显示的位置(FB Graph

2019-09-17 01:01发布

我试图在Facebook上把所有的用户的朋友的当前位置,并正在运行到一个奇怪的问题,其中一些的那些朋友正在读出空时我就可以在它说:“住在自己的实际Facebook页面看到 “ 这个错误的困难的部分是,它只是发生在案件大概〜30%。 在其余的情况下,它拉的所有正确的信息,它告诉我,权限可能设置正确。

具体而言,我使用的FQL代码是:

SELECT uid,
       name,
       current_location
FROM   USER
WHERE  uid IN (SELECT uid2
               FROM   friend
               WHERE  uid1 = Me())

直接使JavaScript的请求时,该图同样的问题出现了,所以它不会出现是一个FQL问题无论是。 没有人知道为什么CURRENT_LOCATION 有时可能失败,并报告NULL,但并非总是如此?

谢谢。

Answer 1:

隐私设置有比Facebook API的更高的优先级。

如果用户已经限制隐私设置特定的信息,您将无法获取该被Facebook的API(图形,FQL,REST API),即使该用户授予权限。

如果我有限制分享我的隐私设置的生日,没有应用就能够抓住,即使他们提出要求我的生日。

此外,用户可以限制越来越特定信息的应用程序。

例如,用户可以允许应用程序xyz访问他们想要的一切,但同时用户可以限制应用程序xyz才能访问他的位置

我希望这回答了你的问题。



Answer 2:

有2种可能性; 用户谁拥有CURRENT_LOCATION空的朋友们:

1)在自己的Facebook个人资料并未说明其当前位置

2)他们指定的当前位置在他们的Facebook的个人资料,但他们的隐私设置拒绝你看到它



Answer 3:

我也有同样的问题。

我检查了这是我的朋友两个不同的用户。

在这两种情况下FQL查询,如:

select uid, first_name, name, birthday, birthday_date, current_address, current_location, hometown_location, sex from user where uid in (select uid2 from friend where uid1 = me()

返回nullhome_location

我已经查这两个帐户和家庭住址是所有(包括隐私和应用程序的隐私设置)进行访问。

我的访问令牌包含所有必需的权限(归属位置表现出了其他的朋友)。

然后我运行查询FQL控制台:

select uid, first_name, name, birthday, birthday_date, current_address, current_location, hometown_location, sex from user where uid = nnnn

作为所有者,结果是:

  • 业主回到家位置。
  • 在我的旧FQL控制台浏览器选项卡 - 仍然没有家的位置。
  • 在我的新FQL控制台的浏览器选项卡 - 我回到家位置。

过了一会儿,我上了年纪FQL控制台上家的位置。

但老查询仍然没有回家位置...

好像在FB端缓存的一些问题。



Answer 4:

这里同样的问题。 我可以检索CURRENT_LOCATION或hometown_location为我的朋友NONE。 对于大多数人我可以很容易地访问,虽然他们的个人资料看到它。 应用权限friends_location和friends_hometown设置。



Answer 5:

试试这个查询来获取你的朋友的当前位置

SELECT first_name,uid, last_name, current_location.name 
FROM user 
WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) AND current_location

同时你也会需要friends_location权限运行此查询



文章来源: FB Graph / FQL: Current_location of friends is sometimes reading Null when FB page shows a location