@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Google API Client (Ruby) で Refresh Token を使って Access Token を発行するサンプルコード

google-api-client-example/refresh_token.rb

Signet::OAuth2::Client#new の引数に refresh_token を渡して、そのインスタンスを Google::APIClient#authorization= に入れて、 Signet::OAuth2::Client#refresh! (または fetch_access_token!)を呼ぶと新しいアクセストークンが取得できる。

client = Google::APIClient.new
client.authorization = Signet::OAuth2::Client.new(
  ...snip...
  refresh_token: refresh_token
)
client.authorization.refresh!

アクセストークンそのものが文字列で欲しい場合は client.authorization.access_token で取得可能。

リフレッシュトークンを得るためには get-google-oauth-token を使うのが楽。