繁体   English   中英

googleapi“oauth2/v4/token”没有返回“refresh_token”

[英]googleapi "oauth2/v4/token" is not returning "refresh_token"

当我使用此代码时,我只得到 access_token。

url = URI("https://www.googleapis.com/oauth2/v4/token")

    secrets = {
      code: params[:code],
      client_id: Rails.application.secrets.google[:client_id],
      client_secret: Rails.application.secrets.google[:client_secret],
      grant_type: "authorization_code",
      redirect_uri: Rails.application.secrets.front_end_domain
    }

    response = Net::HTTP.post_form(url, secrets)

    json_response = JSON.parse(response.read_body)

如何更改代码以便我每次都能获得 refresh_token?

要获得刷新令牌,您需要通过,

 access_type: 'offline'

在客户端获取代码时,您是否收到了批准权限的弹出窗口? 当弹出来进行授权时,您需要确保在客户端传递access_type: 'offline' 除非通过,并且您已同意弹出权限,否则 Google 不会提供refresh_token

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM