facebook - Facebook 个人资料 ID 和 uid 之间有区别吗?

标签 facebook facebook-graph-api uid

我有一个应用程序,我正在使用此代码段获取应用程序用户的 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。

https://developers.facebook.com/docs/games/migrate#appscope

关于facebook - Facebook 个人资料 ID 和 uid 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23958890/

相关文章:

ios - 使用 FB iOS SDK 标记 Foursquare 地点

facebook-graph-api - Facebook Graph API 读取关注者计数

linux - syslog-ng 进程无法写入文件夹,但用户可以

iOS 解析 SDK : How to check if login is from Facebook or Twitter?

ios - 如何使用适用于 iOS 的 Facebook App Invite SDK 获得 "who"邀请?

android - Facebook Audience Network - 带有 AdListener 的 NativeAdsManager

ios - 身份验证后 Firebase uid 返回 nil (Swift)

dicom - 如何生成唯一的DICOM UID?

iphone - 未调用 fbDidLogin

ios - Facebook 应用内以不同语言显示