从全球Facebook ID或用户名获取Facebook应用程序范围的用户ID

时间:2014-06-17 23:26:43

标签: facebook-graph-api-v2.0

如果您有Facebook,例如Zuckerbergs用户ID'4'或用户名'zuck',您如何使用应用的访问令牌使用Graph v2.0获取新的应用范围ID?似乎无法在文档中找到任何相关内容。

3 个答案:

答案 0 :(得分:3)

这基本上是另一个问题的答案 Get Facebook User ID from app-scoped User ID

基本上,最简单的直接流程就是调用https://graph.facebook.com/?ids=http://facebook.com/[FBID/USERNAME]&access_token=[APP_ID]|[APP_SECRET]

为扎克伯格做这件事,会给你熟悉的

{
  "http://facebook.com/4":
  {
    "id": "4",
    "first_name": "Mark",
    "gender": "male",
    "last_name": "Zuckerberg",
    "link": "https://www.facebook.com/zuck",
    "locale": "en_US",
    "name": "Mark Zuckerberg",
    "username": "zuck"
  }
}

但是,如果该用户仅在2014年5月30日(转换日期)后第一次登录您的应用,那么他会有类似......

{
  "http://facebook.com/4":
  {
    "id": "277123456789101",
    "first_name": "Mark",
    "gender": "male",
    "last_name": "Zuckerberg",
    "link": "https://www.facebook.com/zuck",
    "locale": "en_US",
    "name": "Mark Zuckerberg",
    "username": "zuck"
  }
}

为您的应用提供277 ... app-scoped id。

答案 1 :(得分:1)

除了@Raymond Yee的评论之外,您还必须提供APP_IDAPP_SECRETFACEBOOK_USER_ID(请注意,这是数字ID,而不是用户名):

所以它适用于此网址:

https://graph.facebook.com/v2.3?access_token=[APP_ID]%7C[APP_SECRET]&ids=[FACEBOOK_USER_ID]

答案 2 :(得分:-1)

您还可以从应用范围的用户ID获得真正的Facebook ID。解决方案https://stackoverflow.com/a/34450491/2181069