【问题标题】:How do I obtain the requires access token?如何获取所需的访问令牌?
【发布时间】:2013-01-10 19:48:34
【问题描述】:

直到几天前,我用来为我自己的 Facebook 新闻提要生成 RSS 提要的 Python 脚本运行良好。我使用的脚本首先使用我的登录信息登录到 Facebook,然后调用此页面并将其解析为访问令牌:

http://developers.facebook.com/docs/reference/api

我不确定这正是 Facebook 希望人们获取访问令牌的方式,但通读 Graph API 上的所有信息,我似乎找不到任何内容,“这就是你如何获取令牌需要访问你自己的东西。”这一切似乎都是针对那些试图做更精彩的事情的人。

如何获取访问令牌,以便此处引用的页面返回我需要的 JSON 格式数据?

res = browser.open('https://graph.facebook.com/me/home?access_token=%s' % acct)

【问题讨论】:

  • 您应该查看Login documents,它详细描述了您需要做什么。另外我建议你看看 unofficial SDK
  • 细节太多了,大部分似乎都不是针对我想做的事情,应该很简单。我想要的可能是在 github.com/pythonforfacebook/facebook-sdk/blob/master/examples/… 的某个地方,您提供一些 Facebook 页面以及 Facebook 颁发的凭据,它会返回一个访问令牌以与图形 api 一起使用。我想我必须在 Facebook 上注册才能获得 ID 和秘密代码。这在 Twitter 中非常简单,我不知道为什么我找不到与 Facebook 一样简单的东西。
  • 这个页面似乎是我想要的 developers.facebook.com/docs/howtos/login/login-as-app 似乎是说我去某个地方并创建了一个 APP ID 和一个 APP SECRET,然后我转到一个带有这两个项目的 URL,然后取回访问令牌。希望从 Facebook 获得这两个项目不会太难。
  • 不知道这算不算进步。我得到了一个 APP ID 和相关的 SECRET 并将它们插入到这个字符串 graph.facebook.com/oauth/access_token? client_id=YOUR_APP_ID &client_secret=YOUR_APP_SECRET &grant_type=client_credentials 确实产生了一个访问令牌,但显然不是我可以在上面的图形 api 调用中使用来获取我自己的新闻提要信息的一个。我需要做什么?

标签: facebook-graph-api access-token


【解决方案1】:
  1. 首先阅读Access Tokens,因为有不同的类型。
  2. 然后,要阅读用户新闻提要 (home connection),您需要一个 用户 access_token
  3. 要使用服务器端方法检索一个,您需要遵循此document
  4. 要了解服务端方法的流程可以参考这张图(来源:Login Architecture document):

【讨论】:

  • 是的,我意识到我需要一个用户访问令牌并且我已经看到了这张图片。但是,登录对话业务是否可以在没有 UI 的情况下完成。我以前工作的 Python 脚本不需要这样的东西。
  • 只要我的五分钱:Facebook API 有很多限制。但是,您可以使用逆向工程来了解 Facebook 本身如何使用您的主令牌。主令牌只能在用户名/密码身份验证后获得,并且使用此令牌您可以完全模拟用户。但是,如果您要求用户使用他们的密码登录您的应用程序,那么没有人会信任您,因此这个通常只对内部解决方案有用。但是,这取决于您的用例。 Facebook 永远不会喜欢使用主令牌的非官方应用程序,即使有一些。
猜你喜欢
  • 1970-01-01
  • 2022-01-07
  • 2012-02-15
  • 2018-10-11
  • 2013-04-26
  • 1970-01-01
  • 1970-01-01
  • 2018-02-17
  • 2014-07-09
相关资源
最近更新 更多