我构建了一个注册页面,它利用 app_scoped_user_id(由 Facebook 自己的 SDK,最新版本,截至本文发布时为 2.4)来识别人员。
这一直工作正常,但我只是注意到,当通过 iPhone 上的 Facebook Messenger 访问页面时,应用程序(我在 Facebook 上的应用程序)返回真正的用户 ID,而不是应用程序范围的用户 ID,我的印象是唯一的一个可用,出于隐私原因。
这种情况打乱了我的身份识别计划,因为用户现在在通过 Messenger 时拥有一个 ID,而在通过 Facebook 网络访问应用程序时拥有另一个 ID。
这是一个错误,还是我需要做一些特定的事情来明确请求应用范围内的用户 ID?老实说,我很困惑,因为我花了很多时间阅读 Facebook 应用程序中的用户 ID,这与我能找到的所有文档背道而驰。
像这样检索的 ID。无论是通过移动设备(通过 Facebook Messenger)还是在桌面/网络上访问,相同的代码:
FB.login(function (response) {
if (response.status === 'connected') {
// Messenger = true ID
// Web = app scoped
var facebookID = response.authResponse.userID;
};
});
编辑:回应评论:已经提交了一个类似的错误。可以在这里找到:https ://developers.facebook.com/bugs/1188504394499860/
这也链接回此描述。