【发布时间】:2012-01-19 14:09:51
【问题描述】:
我的应用程序有问题。我唯一需要用户的是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,现在一切正常。
【问题讨论】:
-
是什么让您认为您获得的“长”用户 ID 是错误的?您如何获得用于比较的“真实”用户 ID?
-
试了试:facebook.com/profile.php?id=1234567891,短版有效,长版无效。
-
我刚刚检查了一个测试帐户用户 ID,它与您的“长”格式匹配(该帐户也有一个用户名)。将其用作个人资料页面的 id 参数也可以。所以我想你应该检查你的假设 - 也许你正在测试的用户帐户由于某种原因没有个人资料页面? (像 getUser() 这样的核心 SDK 函数返回错误数据的可能性很小。)
-
显然它与我用于该字段的数据类型有关。我将其更改为 varchar,现在一切正常。你说得对,两个身份证都是有效的。谢谢你的帮助!
标签: php facebook codeigniter sdk