3

我注意到与 FB Graph API 不一致。

假设我已登录(并且拥有)用户 Bob 的 access_token。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 获取这些数据(显然是相当公开的),我是否需要指定一些额外的令牌权限或需要请求的字段?

4

2 回答 2

0

被困在同一个问题上。据我了解,此页面末尾的访问令牌必须包含 user_location 和 user_hometown 权限。在api explorer中尝试过,但没有成功 - 仍然无法通过 api 看到在其个人资料页面上显示此信息的用户的位置信息。

更新:此处此处的答案表明,通过 api / app 访问数据比通过网页访问更受限制,以防止网络挖掘。我认为无论您使用用户权限还是应用程序权限都是如此。

于 2013-11-28T12:06:06.280 回答
0

如果您使用的是用户访问令牌,那么您可能需要切换到使用通过以下调用检索到的应用访问令牌:

https://graph.facebook.com/oauth/access_token? client_id=YOUR_APP_ID&client_secret=YOUR_APP_SECRET& grant_type=client_credentials

于 2013-11-11T18:21:26.587 回答