php - Facebook getUser 返回错误的 ID

标签 php facebook codeigniter sdk

我的应用程序有问题。我唯一需要用户提供的就是 facebook id。在他们登录 facebook 后,他们将被重定向回我的应用程序,我可以使用 $facebook->getUser() 获取用户 ID。这工作正常,除非用户在 facebook 上选择了用户名。然后我得到一个非常奇怪的长 ID,它与用户 ID 不同。

为了澄清,假设我向未设置用户名的用户询问用户 ID,例如我得到的 ID:1234567891。 当用户设置用户名时,我会得到一个 ID,例如:100002339295322。

谁知道我该如何解决这个问题?

如果您需要我如何做事的代码示例,我会按照 facebook 开发者网站上的说明进行操作:http://developers.facebook.com

致以友好的问候, 鲍勃

PS:我用的是CodeIgniter框架和facebook官方的php sdk

*///编辑\*

问题解决了。显然它与我用于该字段的数据类型有关。我将其从 int 更改为 varchar,现在一切正常。

最佳答案

我遇到了类似的问题,发现在 v2.0 API 之后 user_id 是应用范围的。我有两个 user_id 用于同一用户的配置文件但不同的应用程序,并且都对各自的应用程序有效。

您可以访问用户个人资料

http://facebook.com/app_scoped_user_id/<USER_ID>

您还可以使用应用 token 和应用范围内的用户 ID 查询图形 API。

引用:https://developers.facebook.com/docs/apps/upgrading/#upgrading_v2_0_user_ids

关于php - Facebook getUser 返回错误的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8493683/

相关文章:

facebook - 仍然可以从 Facebook 群组创建 RSS 提要吗?

ruby-on-rails - 无法通过 Facebook 进行身份验证

php - 如何在 codeigniter 中创建管理面板?

php - 如何使用 PHP Codeigniter 将 MySQL 数据库中的数字显示为星号

PHP 错误 : "The zip extension and unzip command are both missing, skipping."

php - 如果 mysql 行 A 值存在,则使用 PHP 将行 B 值更改为 1

javascript - 在 Laravel 应用程序中使用 Javascript 进行表单验证

javascript - 如何在鼠标滚动时折叠 Jquery Accordion

Swift 5 - Facebook 登录 : LoginManager() callback doesn't call with Facebook App installed

mysql - 如何回显mysql选择结果codeigniter