我有一个应用程序,我正在使用此代码段获取应用程序用户的 Facebook uid:
FB.login(function(response) {
if (response.authResponse) {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
var uid = response.authResponse.userID;
应用程序中存在错误,部分 uid 未存储在数据库中。我需要从 Facebook 个人资料网址(我有)开始检索它们。
如解释here我尝试使用图形数据获取他们的 ID,但此配置文件 ID 与 uid 不同。
我尝试使用我的个人资料,我得到了两个不同的 ID,一个来自图表(较短,10 位数字),一个来自应用程序(较长,大约 15 位数字)
我仔细检查了将我从应用程序获取的 uid 作为参数放入 URL 中的方法:facebook.com?profile?uid=XXXXXXXXXX 但我没有获取我的个人资料。
那么,uid 和 profile id 是不同的东西吗?如何获得 uid,同时具有配置文件 ID 和配置文件 URL?
最佳答案
自 2014 年 4 月 30 日起,新的 Facebook 应用程序使用 Facebook 图形 API 的 2.0 版。这样做的意义在于,您在应用中看到的返回的用户 ID 是“应用范围内的”。应用范围意味着这确实是与您的“规范”/全局 ID 不同的 ID。对于给定用户,您的应用始终会看到相同的 ID,但不同的应用会看到同一用户的不同 ID。
恐怕无法从应用范围的 ID(您看到的较长的 ID)到用户的个人资料。这背后的想法是保护人们的隐私。也没有办法从配置文件 URL 转到应用范围的 ID。
关于facebook - Facebook 个人资料 ID 和 uid 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23958890/