几周前,我们开始使用facebook graph api v2.0而不是v1.0。 正如FB文档中所提到的,使用v1.0登录我们的应用程序的用户的fbId并不认为会受到升级的影响,只有拥有v2.0的新用户才能获得应用程序范围的id而不是通用id。 但是,我们的一些来自v1.0的老用户以某种方式得到了应用程序范围的id而不是一般id,它让我们感到惊讶,因为它不会发生。 我们想在我们的服务器代码中添加一种补丁,它将通过通用ID获取应用程序范围的id,或者通过app-scoped获取通用ID。 经过一番阅读后,我们看到了api电话:
https://graph.facebook.com/v2.0/…<general/app-scoped_id>&access_token=<SomeToken>
但不是返回我们想要的id,而是返回我们要求的相同ID。 例如:https://graph.facebook.com/v2.0/123456&access_token=SomeToken
将返回:
{ http://www.facebook.com/123456: {
id: "http://www.facebook.com/123456"
}
任何人都可以帮我们弄清楚为什么它不起作用?
答案 0 :(得分:0)
据我所知,你无法从规范的id中获取scoped_id,反之亦然。但是,如果你从字段的请求(总是给你scoped_id)获得scoped_id,那么你可以要求[scoped_id]?fields = id,你将获得为你的应用注册的用户ID,如果用户在迁移到v2.0之前注册,则是规范的,如果他在迁移后注册,则是范围ID。
在报酬中,您可以转换的是: [app-scoped_id] - &gt; [一般/ APP-scoped_id]