【问题标题】:Getting Facebook Access Token from User Id and Facebook App Secret?从用户 ID 和 Facebook 应用程序秘密获取 Facebook 访问令牌?
【发布时间】:2013-08-12 21:03:25
【问题描述】:

我正在尝试了解 facebook api 的工作原理。最终目标是能够阅读 Facebook 页面上的帖子。

如果有人在 facebook 上连接了我的应用程序,我的 c# 应用程序可以从公共 facebook 页面获取帖子,前提是它知道他们的 facebook 帐户 ID(并且对 facebook 应用程序密码进行了硬编码)。

如果是这样,它需要发出哪些 http 请求才能获取可用于获取帖子的访问令牌,以及在过期之前获取新访问令牌的请求是什么?

如果你能提供一个 c# 示例(也许使用 acebooksdk.net 库),那就太好了!

谢谢。

【问题讨论】:

    标签: facebook facebook-graph-api facebook-apps facebook-access-token


    【解决方案1】:

    这样做的方法是使用"The Login Flow for Web (without JavaScript SDK)" api 来获取用户访问令牌。用户访问令牌需要与图形 api 查询一起发送才能获取页面帖子。

    第一步是在 facebook 上创建一个应用程序,您可以在其中指定您希望程序能够通过图形 api 访问哪些信息。最终用户稍后会选择接受这些权限。

    程序创建一个网络浏览器框架并导航到https://www.facebook.com/dialog/oauth?client_id={app-id}&redirect_uri=https://www.facebook.com/connect/login_success.html&response_type=token

    响应类型“token”表示当(嵌入式)网络浏览器重定向到redirect_uri时,用户访问令牌将作为片段添加到url的末尾。例如,浏览器最终会出现在带有 url https://www.facebook.com/connect/login_success.html#access_token=ACCESS_TOKEN...

    的页面上

    重定向 uri 可以是任何东西,但 facebook 为这种情况预留了一个特定的 uri,在这种情况下,您没有托管要接收和处理响应的另一台服务器。

    基本上,facebook 会收集用户所需的所有信息,然后将它们发送到redirect_uri。他们可能需要的一些信息是让他们登录并接受您在 Facebook 上的应用所需的权限。

    所以程序只关注嵌入式浏览器所在的 url,当它与redirect_uri 匹配时,它会解析将包含数据作为片段的 url,然后可以关闭浏览器。

    【讨论】:

      猜你喜欢
      • 2019-02-11
      • 2018-07-04
      • 1970-01-01
      • 2012-08-13
      • 2012-04-28
      • 2016-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多