Ruby Oauth2图章返回标记和刷新标记

b09cbbtk  于 2022-12-17  发布在  Ruby
关注(0)|答案(1)|浏览(122)

我正在访问gmail API。我正在使用ruby来获取访问令牌。但是,我需要用访问令牌来获取刷新令牌。我正在使用signet作为这里的建议。https://readysteadycode.com/howto-access-the-gmail-api-with-ruby
代码如下所示

client = Signet::OAuth2::Client.new({
      client_id: ENV.fetch('GOOGLE_API_CLIENT_ID'),
      client_secret: ENV.fetch('GOOGLE_API_CLIENT_SECRET'),
      token_credential_uri: 'https://accounts.google.com/o/oauth2/token',
      redirect_uri: url_for(:action => :callback),
      code: params[:code]
    })
  
    // this is undefined
    refre_token = client.refresh_token

    response = client.fetch_access_token!

    access_token = response['access_token']

我尝试按照here的建议添加其他参数,如下所示

additional_parameters: {
    "access_type" => "offline",         # offline access
    "include_granted_scopes" => "true",  # incremental auth
  }

但client.new似乎没有任何效果。
如何从Signet::OAuth2获取刷新令牌?

q9yhzks0

q9yhzks01#

刷新令牌仅在您第一次通过身份验证时显示。
按照以下步骤删除存储的访问权限,以便您可以像第一次一样进行身份验证。
管理您的谷歌帐户-〉安全-〉管理第三方访问-〉您的应用名称-〉删除访问
注意:从我的测试来看,似乎不需要附加参数属性。

相关问题