概要

Google API の OAuth Token を更新する
パッとコピペできるやつがなかったのでメモしておく

やりかた

まず、Google APIコンソールからOAuth2クライアントIDを生成する

Gemをインストール
v0.10.1 みたいな比較的新しいやつがはいる

gem install google-api-client

REPLで以下のコードをコピペ

require 'googleauth'
require 'google/apis/adsense_v1_4'
require 'google/api_client/auth/storage'
require 'google/api_client/auth/storages/file_store'
require 'google/api_client/auth/installed_app'
require 'google/api_client/client_secrets'

store = Google::APIClient::FileStore.new('oauth2.json')
storage = Google::APIClient::Storage.new(store)

client_secrets = Google::APIClient::ClientSecrets.load

flow = Google::APIClient::InstalledAppFlow.new(
  :client_id     => '<your client id>',
  :client_secret => '<your client secret>',
  :scope         => ['https://www.googleapis.com/auth/adsense.readonly']
)
authorization = flow.authorize(storage)

ブラウザが立ち上がり同意画面が表示される
許可するとカレントディレクトリに oauth2.json というファイルが生成される