#まえがき
VPS上でGoogle SeetsAPIと叩こうとしたら認証に詰まったので個人的なメモ
背景
google SpreadsheetsのAPIを使うには、ダッシュボードで鍵を生成するなどした後、スクリプトの初回実行時に認証ページにアクセスしアクセス許可の操作をする必要がある。
この際最後にVPS側のlocalhost上のページにアクセスする必要があるが、ローカルPCからアクセスしようとしても当然当該ページは出てこない(この時点では認証は完了していない)。
私のVPSにはGUI環境がなく、またjsの動作しないCLIブラウザではGoogleへのログインすらできなかった。
このため、SSHポートフォワーディングを使ってローカルPC上のブラウザからVPSのローカルホストにアクセスし、認証処理をした。
#操作
SSHポートフォワーディングを知った話を参考に、 ターミナルで
ssh -L 33476:localhost:33476 user@example.com
を実行。
VPS上にあるSheetsAPIを使うスクリプト(Python)を実行すると認証ページのURLが
Please visit this URL to authorize this application:
に続いて標準出力に流れてくるので、ローカルPCのブラウザでアクセスする。
あとは画面に従って認証処理をし、Localhostにリダイレクトされて認証が完了した旨のメッセージが出れば完了。これでVPSからAPIが使えるようになった。