我试图使用user_token获取公开个人资料。我注册了FB应用并从页面获取了user_token:https://developers.facebook.com/tools/access_token/ 但是当我尝试获取公开个人资料时https://graph.facebook.com/100000378611443?limit=1000&access_token= {user_token} 我看到一个错误:
{
"error": {
"message": "The global ID 100000378611443 is not allowed. Please use the application specific ID instead.",
"type": "OAuthException",
"code": 2500
}
}
但是,如果我在另一个应用程序中使用上述URL中的user_token,我可以成功获取公共用户个人资料。 我究竟做错了什么? 感谢。
答案 0 :(得分:2)
由于不再允许v2.0的Facebook API应用程序使用全局ID,只需使用应用程序范围的ID。当用户登录您的应用程序时会生成这些ID。
如果您尝试检索当前登录用户的信息,则应使用/me
端点以及用户的访问令牌:https://graph.facebook.com/me?access_token={user_token}
请注意,使用这些新的作用域ID,不的应用可以从尚未授予该应用权限的用户那里检索任何数据。
干杯
答案 1 :(得分:0)
您仍然可以使用旧版本的Facebook Graph API V1.0,它将一直存在到2015年4月30日。
答案 2 :(得分:0)
您必须使用访问令牌,而不是用户令牌!您可以在此处使用Graph API Explorer获取一个https://developers.facebook.com/tools/explorer 然后,您必须至少拥有user_about_me权限才能获取配置文件数据。您拥有的许多用户数据权限,以及您获得的许多端点和数据。请记住,从Graph API Explorer获取的访问令牌是短暂的生命 - 在一个小时左右到期。有关令牌及其术语的更多信息,请访问:https://developers.facebook.com/docs/facebook-login/access-tokens
答案 3 :(得分:0)
也发生在我身上,尝试使用" Graph Api Explorer"用户ID获取调试我的应用程序。
从呼叫中获取的用户ID:
../<event_id>/likes
不是 REAL 用户ID,而是一种id&#34;加密&#34; (让我用这个词)和access_token。
因此,如果您想在GAE上测试该用户ID,您还需要指定访问令牌:
https://graph.facebook.com/<user_id>?access_token=<application_access_token>