我注意到与FB Graph API的不一致。
假设我已登录(并且具有access_token)用户Bob。 Bob不是用户Jim的朋友。
如果我作为Bob,通过Graph API,请求有关Jim的数据:
https://graph.facebook.com/jim?access_token=blah&fields=location,hometown,name,id,address
我得到了这样的结构:
{
"id": "1",
"name": "Jim"
}
请注意,我要求的字段明显丢失。
但是,如果我以Bob身份登录FB网站,然后以搜索登录Jim,我可以在他的“关于”页面上看到他的位置和家乡,即使 我不是他的朋友。
这是为什么?我是否需要指定一些额外的令牌权限或我需要求的字段才能从API中获取这些数据(显然是公开的)?
答案 0 :(得分:0)
如果您使用的是用户访问令牌,那么您可能需要切换到使用通过以下调用检索的应用访问令牌:
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET&
grant_type=client_credentials
答案 1 :(得分:0)
陷入同样的问题。 据我所知,this page访问令牌必须包含user_location和user_hometown权限。在api explorer中尝试但没有成功 - 仍然无法通过api查看在其个人资料页面上显示此信息的用户的位置信息。
更新:答案here和here表明通过api / app进行的数据访问比通过网页更受限制,以防止网页挖掘。无论您使用用户权限还是应用权限,我都认为是这种情况。