【发布时间】:2017-06-27 21:44:05
【问题描述】:
我有两个基本的 Facebook 应用程序,一个是使用 v2.8 图形 API 版本创建的,另一个是使用图形 API 的 v2.9 版本创建的(如应用程序仪表板中所述:https://developers.facebook.com/apps/{ id}/dashboard/)
最后一个使用 v2.9 图形 api 的应用程序似乎无法请求用户公共个人资料信息。但是使用2.8 的人能够做到这一点,即使使用2.9 api 版本。
两个应用具有相同的参数: - 年龄限制:13+ - 国家限制:无 - 酒精:没有
能够使用第一个应用程序访问公共信息
https://graph.facebook.com/v2.9/123456789?access_token={app1_id}|{app1_secret}
{
"name": "Name of the guy",
"id": "123456789"
}
尝试使用第二个应用访问公共信息时出错
https://graph.facebook.com/v2.9/123456789?access_token={app2_id}|{app2_secret}
{
"error": {
"message": "Unsupported get request. Object with ID '123456789' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100,
"fbtrace_id": "CQ9V460Jycd"
}
}
不过,我可以使用此应用访问某些用户的个人资料信息,例如马克扎克伯格等。
因此,我的第二个应用似乎没有此配置文件的正确权限。但我不知道为什么,因为:
- 我请求的用户个人资料与我的应用没有任何链接
- 我正在尝试访问public_profile 数据,这是默认的给定授权。
用户是否可以限制可以访问其公开个人资料信息的 api 版本? 我怎么能调试呢?有没有办法查明用户个人资料是否受限于特定的 api 版本?
感谢您的帮助!
【问题讨论】:
-
不,这仅仅是因为自 API v2.0 以来用户 ID 是应用范围内的。