OAuth2.0で取得できるRefreshTokenがあれば、初回以降は手入力を省けるかもしれない。
前回まで
GoogleでAPIを使うにはOAuth2.0の手続きが必要。手入力によりボタンを押下するなどの操作が必要。
PythonでOAuth2.0とFusionTablesAPIを実行する手順まとめ
OAuthとAPIを使うときに必要となるキーたちでソースコードを見てみたら、AccessTokenが使いまわせれば、手入力せずに済みそうな気がした。
ググった
Google AccessToken 使いまわす
でググった。なんて頭の悪そうなキーワード…。でもこちらやこちらがジャストヒットした。とてもわかりやすい。感謝。
AccessTokenには寿命がある
どうやらAccessTokenには寿命があるらしい。RefreshTokenとやらを使えば、AccessTokenを取得できるのだとか。また新しいキーが出てきたよ…。前回のキーに加えて9つ目か。
取得の経緯
配布元 | in | out |
---|---|---|
Google Account | 個人情報 | メールアドレス、パスワード |
Google Developers Console | 認証情報を作成 →OAuth クライアント ID |
ClientId, ClientSecret |
https://accounts.google.com/o/oauth2/auth | ClientId, ClientSecret | code |
https://accounts.google.com/o/oauth2/token | code | AccessToken,RefreshToken |
それぞれのキーは上記のような経緯で取得できるっぽい。
前回作成したコードですでにRefreshTokenも取得されていると思われる。使わなかっただけで。
Python
まずはRefreshTokenを取得して保存するだけのコードを書きたい。
でも、curlはSSLエラーが頻発したりするし、BatchやShellがしょぼい。コードはPythonで書きたい。でも、Pythonのことを知らなさすぎる。コピペして書けたから調子に乗ったが、自力ではほとんど書けない。すこし勉強する必要がありそう。
所感
自動化への希望が見えてきたかも?
Googleのドキュメントからは読み取れなかった。私の英語力がないせいだろう。そういえば、API KeyやOAuth クライアント IDは何となくわかったが、サービスアカウントとやらが謎のまま。しばらくは放置でいいか。まだまだわからんことだらけ。