【发布时间】:2014-05-15 06:14:52
【问题描述】:
我正在使用facebook api 2.0 允许用户使用他们的 Facebook 个人资料数据来填写我的自定义表单。 (我不想要 facebook 的预填表格)。我正在获取其他信息,例如名字、姓氏、电子邮件。但显然 Facebook api 2.0 已经从响应对象中删除了用户名,我无法访问它。我观察到 Response.link 包含此人的个人资料的 url,"www.facebook.com/" 之后的部分与用户名相同。如果我们成功获取链接,我们可以获得用户名。但我不确定这是否适用于所有用户。但是,当我尝试访问该链接时,我得到了带有应用范围 id 的链接,如下所示:
"www.facebook.com/app_scoped_user_id/XXXXXX/"
最后一部分 (XXXXXX) 是一些数字 id。有人知道如何访问“https://www.facebook.com/username”形式的链接吗?
另外,如果我们在 2.0 中无法做到这一点,但在 1.0 中可以,那么如何切换回 1.0?
【问题讨论】:
-
你想只获取当前授权用户的用户名还是任何用户?
-
当前授权用户的用户名。当他访问页面时,他将获得选项,例如“使用 Facebook 注册”。当他点击它时,他将有机会使用 Facebook 登录对话框验证自己。成功登录后,我想访问他的用户名。
-
一旦您将 v2.0 推送到生产环境,并且真正的用户已经连接到它,您将无法切换回 v1.0,因为涉及这些用户的
/user调用将被解释为 v2 .0 无论您指定什么版本。这里有一些陷阱,我也发现它们令人困惑,所以我写了一个blog post 来解释它们。
标签: facebook-graph-api facebook-javascript-sdk facebook-graph-api-v2.0