谷歌oauth刷新令牌长期存在的解决方案

时间:2015-11-20 14:26:54

标签: ruby-on-rails oauth oauth-2.0 google-calendar-api google-oauth

Google OAuth 2.0访问令牌有一个到期时间。我已将Google Calendar API集成到我的Ruby应用程序中,但问题是访问令牌即将到期。如何使访问令牌长期使用。

cal.login_with_refresh_token('ksdjkf_sdfkasdhfjhaskjdhfkasdhfkasjdlfasld')
  

{     “access_token”=> “ksdjkf_sdfkasdhfjhaskjdhfkasdhfkasjdlfasld”,

     

“token_type”=> “承载”,

     

“expires_in”=> 2324

     

}

如何使其成为一个长寿命的意思,除非他撤销其Google帐户用户的访问权限,否则可以获取他的日历活动。

1 个答案:

答案 0 :(得分:1)

以下是如何为Google API创建长期存在的OAuth令牌:

  1. 访问http://console.developers.google.com
  2. API Manager
  3. 证书
  4. 创建凭据(OAuth客户端ID)
  5. 应用程序类型:Web应用程序
  6. 授权重定向URI:https://developers.google.com/oauthplayground
    • 生成的客户端ID /客户端密钥用于访问令牌
  7. 访问:https://developers.google.com/oauthplayground/
  8. 点击设置图标以显示OAuth 2.0配置
  9. 勾选“使用您自己的OAuth凭据”
  10. 输入您刚刚创建的OAuth客户端ID和OAuth客户端密钥
  11. 检查范围字段中“日历API v3”的条目,然后单击“授权API”
  12. 点击“允许”
  13. 点击“兑换令牌的授权码”
    • 现在您有一个刷新令牌和您的客户端ID /密码的访问令牌
  14. 以下是使用带有 ruby​​-api-client gem的oauth令牌与signet对话Google Play API的示例。您应该可以修改此示例,以便轻松使用日历API:

    https://gist.github.com/jkotchoff/e60fdf048ec443272045

      

    请注意,这受到以下因素的启发:https://www.youtube.com/watch?v=hfWe1gPCnzc