我为我公司的游戏开发过管理系统。我们打开了一个页面让用户报告问题。然而,facebook的新系统让我们对每个应用程序更改的userID感到困惑,但页面仍然只显示真正的facebook userID,这通常与应用程序范围ID不同
我想知道一种以编程方式将真实用户ID转换为应用范围ID的方法
无论如何都要这样做吗?
非常感谢
答案 0 :(得分:5)
您不能只将真实ID转换为范围ID,而是:
答案 1 :(得分:5)
可以检索应用范围的用户ID,虽然它有点古怪。
对于您希望应用范围ID的用户使用不的访问令牌,使用URL获取具有全局ID的用户:
https://graph.facebook.com/v2.2/?ids=[COMMA SEPARATED LIST OF USER IDS]&fields=link
响应将采用以下格式:
{
"700230415": {
"link": "https://www.facebook.com/app_scoped_user_id/10158562170695476/",
"id": "700230415"
},
"700634149": {
"link": "https://www.facebook.com/app_scoped_user_id/10152566310960142/",
"id": "700634149"
},
}
然后,您可以解析link
字段以获取应用范围ID。
答案 2 :(得分:0)
您无法将全局user_id“转换”为应用范围的用户ID。由于你没有描述你的“管理系统”究竟做了什么,所以几乎不可能给你一个建议。
可能您的“管理系统”使用的是使用Graph API v1.0的应用程序(即2014年4月30日之前创建的)。这就是为什么你仍然会看到全局user_ids。
可以在请求之前添加/v2.0
,这应该会为您提供应用范围的user_id,但这对您没什么帮助,因为每个应用都有所不同。正如@luschn所描述的那样,您可以使用Business Mapping API(https://developers.facebook.com/docs/apps/for-business)来获取特定用户的所有应用范围的user_id。
答案 3 :(得分:-1)
如果您想将全局ID转换为范围ID,我想您应该知道: