在Facebook Graph API中获取用户App-Scoped用户ID

时间:2014-05-12 05:50:18

标签: facebook facebook-graph-api facebook-opengraph

新的V2 Facebook Open Graph API出现后,我需要记下已登录的用户' App-Scoped'用户ID,以便通过Parse注册id以接收PUSH通知。

但是,作为登录用户,我获得了Facebook ID。

Haven在文档中找不到解决这个问题的任何内容,所以我想在这里问一下。

5 个答案:

答案 0 :(得分:9)

  1. 如果您在图API 2.0推出之前创建了自己的Facebook应用程序,它将继续收到规范的Facebook用户ID
  2. 如果您创建了自己的Facebook应用程序,那么在引入图形API 2.0之后,它会为您提供应用范围ID,而不是规范ID。
  3. 在这种情况下,我假设您的应用程序已经很老了。因此创建一个新的应用程序,它将为您提供应用程序范围ID。

答案 1 :(得分:2)

在facebook文件中:

  

“此人的用户帐户的ID。此ID对每个应用程序都是唯一的   并且不能在不同的应用程序中使用。我们的升级指南提供   有关此内容的更多信息。“您只能获得每个应用的ID。

此处提供了更多信息:facebook.developers

答案 2 :(得分:1)

" Facebook ID"当你称之为 IS 应用范围的用户ID时。

请参阅https://developers.facebook.com/docs/apps/upgrading#upgrading_v2_0_user_ids

答案 3 :(得分:0)

你从api获得的id是一个不透明的字符串,你应该这样使用它。 如果用户已在v1上授予您的应用访问权限,那么您的应用将继续获得相同的ID。

答案 4 :(得分:0)

已注册的旧用户继续从Facebook接收这些用户的规范ID,并且新用户正在获取新的范围ID。虽然它作为一个长整数正常工作,但我建议更改一个字符串字段的长字段(除非你已经将它视为一个字符串),因为我们无法知道Facebook将来会在这里发送什么。要保持代码主要不变,请创建一个新的内部用户ID长整数,它将是您的代码已经使用的整数,并将其与来自Facebook的字符串ID相关联,这是规范或范围的,具体取决于用户在之前或之后注册迁移,您只需要管理登录,请求,打开图表故事等等。

这样你就不用担心规范或范围内的id除了一个案例。一切正常,除了我们发现问题,也许有人可以纠正我,所以帮助我解决这个问题:当新用户接受现有用户的邀请请求时,当你的应用读取请求发件人的ID时,我发现Facebook为您提供了新的范围ID,如果推荐者是旧用户或新用户,则无需使用。这样,如果用户在迁移之前注册,您已经存储了规范ID,稍后,您读取了接受新用户的请求,您将获得旧用户的范围ID,但您存储的是规范的!因此,旧用户无法再正确邀请新用户!如果有人知道如何从为旧用户发送的请求中获取规范ID,或者知道如何使用规范ID获取现有用户的范围ID(将新范围的ID存储在数据库中),那么听取他们的建议会非常有帮助。

相关问题