为什么Firebase获取的Facebook用户id与Facebook Graph中与同一帐户关联的Facebook i
Why is the Facebook user id picked up by Firebase different to the Facebook id associated with the same account in the Facebook Graph?
我已经将Facebook认证与Firebase集成到我的网站中。我正在使用Firebase JavaScript API。
我使用的代码是直接从Firebase教程标题"用户登录&"身份验证"在这里提供:https://www.firebase.com/docs/web/guide/user-auth.html
var myRef = new Firebase("https://#######.firebaseio.com");
var auth = new FirebaseSimpleLogin(myRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log("User ID: " + user.id + ", Provider: " + user.provider);
} else {
// user is logged out
}
});
auth.login("facebook");
这一切都工作得很好,记录了正确的信息。
然而,被记录的id(即在Firebase仪表板的数据中可见的用户id)与我通过Facebook Graph获得的Facebook id不同。
使用Firebase,我得到一个17位的用户id。使用Facebook Graph (https://developers.facebook.com/tools/explorer?method=GET&path=me%3Ffields%3Did%2Cname&version=v2.0),我得到一个9位数的用户id。
这意味着我不能使用Firebase登录,抓取Facebook id并通过Facebook Graph发出请求-同一用户的用户id是不同的。
为什么存在这种差异?我如何使用Firebase获得相同的Facebook id,出现在Facebook图?
Facebook最近推出了他们的Open Graph 2.0版本。随之而来的是很多变化。其中之一是Facebook返回给Facebook应用程序的用户ID。现在,每个应用程序接收的不是用户的全局Facebook ID,而是所谓的"应用范围ID"。这意味着每个应用程序将接收到用户X的不同用户ID,即使每个唯一ID仍然映射到用户X。如果你需要能够跨多个应用程序映射用户,你可以使用他们的业务映射API。最终,这是Facebook做出的改变,我们在Firebase无法控制。
如果你从Simple Login得到一个17个字符的ID,这可能是因为你的Facebook应用程序是在Facebook登录v2发生变化之前创建的(一个多月前)。我在你的Open Graph Explorer请求中看到它正在使用v2。但在Simple Login中,我们使用的是v1和v2的混合,这取决于你的Facebook应用是何时创建的。我们正在努力增加一个选项,让你决定你想要使用哪个版本的Facebook Open Graph API,但还没有添加。如果你想在此时使用v2,你只需要创建一个新的Facebook应用程序,一切都应该工作。如果你想继续使用v1,请注意Facebook将在大约10个月内停止支持它。
在本页搜索"应用程序范围内的用户id"以获取其官方更改日志信息。
新用户ID在Firebase成功登录时返回的对象中的providerData对象中返回。
- 使用php或javascript从facebook相册URL中删除多余的部分
- 漂亮照片图片库中的Facebook赞按钮
- 包括用于facebook评论框的JavaScript SDK
- 使用Facebook live API创建实时视频对象时的隐私设置
- 有任何可能将facebook实时信使整合到一个网站中
- facebook”;添加评论“;popup获胜'不要消失
- Facebook共享显示一个接一个的空白页面
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- 异步facebook功能
- Facebook登录按钮没有'不能在Firefox上工作
- 使用javascript反复检查用户在facebook上的登录状态
- 在我的SPA应用程序中集成Facebook共享的问题
- 点击facebook像素跟踪注册(JS/JQUERY代码)
- Facebook共享动态参数链接
- FB.login访问令牌facebook javascript SDK
- 多维关联数组的最后一个索引
- 与测试用户角色关联的 Facebook 无法获取user_likes
- 为什么Firebase获取的Facebook用户id与Facebook Graph中与同一帐户关联的Facebook i