我建立了一个注册页面,该页面利用了app_scoped_user_id(由Facebook自己的SDK,最新版本,本帖子中的2.4)来识别人。
这一切都运行良好,但我只是注意到,当通过iPhone上的Facebook Messenger访问页面时,应用程序(我在Facebook上的应用程序)返回真正的用户ID,而不是应用程序范围的用户ID,我在印象中出于隐私原因,这是唯一可用的。
这种方式会影响我的身份识别计划,因为用户现在在使用Messenger时有一个ID,而另一个在通过Facebook网络访问应用时有。
这是一个错误,还是我需要做一些特定的事情来明确请求应用范围的用户ID?老实说,我非常困惑,因为我花了很多时间阅读Facebook应用程序中的用户ID,这与我能找到的每个文档都不相符。
ID检索如下。相同的代码,无论是通过Mobile(通过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/
这也链接回到这个描述。