【问题标题】:Rails, Koala: facebook access token expires very soon, how to make it longerRails,考拉:facebook访问令牌很快到期,如何让它更长
【发布时间】:2015-02-12 21:35:59
【问题描述】:

我对 Koala 和 Facebook 的所有这些都是新手,我在使用 facebook 访问令牌时遇到了问题。

我必须每 60 分钟为我的应用程序生成一个新的访问令牌,因为在那之后我收到了我的访问令牌已过期的错误。

我使用 Devise + Omniauth-facebook + Koala 进行集成。

我有一个 facebook.yml 文件,其中有 app_id、secret 和我的 access_token。

为了生成访问令牌,我按照“考拉的阅读”说我必须去Graph API Explorer 并为我的应用程序生成 access_token,然后我点击“获取访问令牌”按钮然后选择权限我想要然后单击生成。然后我将访问令牌复制并粘贴到我的 facebook.yml 文件中,这样我就可以发出类似

的请求
@graph = Koala::Facebook::API.new(FACEBOOK_CONFIG['access_token'])
        @profile = @graph.get_object("me")
        @friends = @graph.get_connections("me", "friends?fields=id,name,picture.type(normal)")

我面临的问题是我在Graph API Explorer 生成的访问令牌始终可用 60 分钟,在那之后我必须再次执行该过程并生成另一个新令牌以使一切再次正常工作。

谁能告诉我如何才能更长时间地生成访问令牌?不止60分钟……

提前致谢!

【问题讨论】:

    标签: ruby-on-rails facebook facebook-graph-api devise koala-gem


    【解决方案1】:

    获取你的app_id、你的secret和你当前的访问令牌,你可以看到当前访问令牌转到https://developers.facebook.com/tools/access_token

    并复制您要扩展的应用的当前访问令牌

    然后编写这个网址

    https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=APP_ID&client_secret=APP_SECRET&fb_exchange_token=CURRENT_ACCESS_TOKEN
    

    现在用您的值替换大写的单词,然后将 url 复制并粘贴到浏览器中,哇!您的访问令牌将在 2 个月内可用

    顺便说一句,你会得到这样的东西 access_token=ACCESS_TOKEN&expires=5182578

    只复制应用程序中的 ACCESS_TOKEN,不要复制 '&expires' 部分。

    要检查一切是否正常,请转到Debugger 并粘贴您的访问令牌,它应该会显示将在 2 个月后到期,如果您仍然看到 60 分钟,请再次检查步骤。

    出于某种奇怪的原因(我们仍然不知道为什么),我们的访问令牌在 2 个月后仍然处于活动状态,似乎如果您的应用处于活动状态,它会自动更新。

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 但无法通过 Graph API Explorer 生成更长的时间?我必须编码吗?
      • 当然可以在 Graph Explorer 中完成请求。
      • 我试过但没有成功,我收到这个消息“消息”:“发生未知错误。”,你能告诉我你将如何在图形 api 资源管理器中执行请求吗?
      猜你喜欢
      • 2012-02-18
      • 1970-01-01
      • 2014-02-27
      • 2013-09-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      相关资源
      最近更新 更多