mwi*_*son 5 javascript facebook facebook-graph-api
我试图找出一种在我的应用程序中为用户存储唯一ID的好方法.我正在使用facebook登录进行用户管理,并为用户提供了一个类:
function FacebookUser(userObj) {
if (userObj) {
this.name = userObj.name;
this.id = userObj.id;
this.picture = userObj.picture.data.url;
this.isLoggedIn = true;
} else {
this.name = 'Login';
this.id = 0;
this.picture = '';
this.isLoggedIn = false;
}
}
Run Code Online (Sandbox Code Playgroud)
基本上,我有角度处理Facebook登录的服务:
.service('facebookService', function () {
this.getFacebookUser = function (callback) {
$.getScript("//connect.facebook.net/en_US/sdk.js", function () {
var appId = "12312312313123";
FB.init({
appId: appId,
status: true,
cookie: true,
xfbml: true,
version: 'v2.4'
});
FB.getLoginStatus(function (response) {
if (response.status == 'connected') {
FB.api('/me?fields=picture,name,email', function (data) {
callback(new FacebookUser(data));
})
} else {
FB.login(function (response) {
FB.api('/me?fields=picture,name,email', function (data) {
callback(new FacebookUser(data));
})
});
}
})
});
}
})
Run Code Online (Sandbox Code Playgroud)
我想弄清楚的是唯一标识符是什么.我想只使用用户的电子邮件地址,因为它保证是唯一的,但不想要求额外的权限.最初,我想使用id字段,但我不清楚id是否会改变.在facebook文档中,他们解释了id字段:
此人的用户帐户的ID.此ID对于每个应用都是唯一的,不能在不同的应用中使用.我们的升级指南提供了有关应用特定ID的更多信息
根据这一点,该ID是应用程序所独有的,不能在不同的应用程序中使用.但是,我想在这里更清楚一点.如果一个用户今天登录应用程序,然后在几个月内再次登录,他们的ID是否相同(如果它是相同的应用程序),还是会改变?次要问题是,如果/当我进行更改并获得新的应用ID时,ID是相同还是更改?它在技术上仍然是相同的应用程序,只是一个不同的版本.我的假设是因为它是一个不同的appId,facebook认为它是一个完全不同的应用程序,但我是facebook api的新手,并向专家寻求建议.
Tra*_*umi 11
我不是专家,但我会尽力回答你的问题.
如果一个用户今天登录应用程序,然后在几个月内再次登录,他们的ID是否相同(如果它是相同的应用程序),还是会改变?
只要App ID相同,即使在登录之间,用户ID也不会改变,无论中间有多长.
次要问题是,如果/当我进行更改并获得新的应用ID时,ID是相同还是更改?
新的App ID表示不同的App,这意味着用户ID将更改.但是,如果您获得新的App ID并需要访问同一用户,则可以使用facebook的Business Mapping API.
摘自facebook文档:
如果您需要跨多个应用映射相同的用户ID或运行跨应用促销,我们添加了一个名为Business Mapping API的新API.这使您可以跨应用程序映射登录用户的ID,只要这些应用程序全部归同一企业所有.
| 归档时间: |
|
| 查看次数: |
3003 次 |
| 最近记录: |