我的应用程序有问题。我唯一需要用户提供的就是 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/