Skickaで403エラーが出た場合の対処法
に公開
はじめに
Skicka を用いて Github のリポジトリから GoogleDrive にデータをアップロードしようと思いました。 途中で 403 エラーに詰まってしまったので、その際の解決方法を備忘録としてを記します。
問題
Skicka のトークンを発行しようとしたが、途中で 403 エラーとなり進めなくなってしまった。
現状
下記記事を参考に実装したところ、skicka.config
を記述する作業までは問題なく進めたが、それ以降上記問題で進めなくなった。
恐らく GCP 側で何らかの変更があったのだろう。
上記ファイルを記述し、skicka -no-browser-auth df
を実行すると、認証画面の URL が返却される。
指定された URL にアクセスすると、認証画面にいくはずなのだが、403 エラーとなり進むことができない。
原因
テストユーザに自分を登録していない場合に、403 となるらしい (Twitter 情報)
対応
テストユーザを登録する
-
「API とサービス」内の「OAuth 同意画面」にアクセスする
-
追加ボタンを押すと入力画面が表示されるため、入力欄に自分のメールアドレスを入力し登録する。
動作確認
- テストユーザに自分を登録した上で、再度
skicka -no-browser-auth df
を実行してみる
#skicka -no-browser-auth df Go to the following link in your browser: https://accounts.google.com/o/oauth2/auth?client_id=XXX.apps.googleusercontent.com...
-
上記で取得した URL にアクセスする 先ほどと違って、警告は出るもののContinueから先には進めそう
-
画面の案内に従ってログイン
-
トークンを取得し、入力
Enter verification code: { 取得したトークン }
- 無事アクセス成功!!! 問題なく GoogleDrive の情報が取得できた!
Updating metadata cache: [=======================================================================] 100.00% 5m32s Capacity 100.00 GiB Trash 2.04 GiB 2.04% Drive 12.26 GiB 12.26% Gmail 262.72 MiB 0.26% Photos 77.91 GiB 77.91% Free space 7.53 GiB 7.53%
(100GB 契約で、空き容量が 7GB...)
- トークン情報を取得する
# cat /root/.skicka.tokencache.json {"ClientId":"{client_id}","access_token":"{token}","token_type":"Bearer","refresh_token":"{token}","expiry":"2022-01-22T14:23:59.9556225Z"}#
あとは、このトークン情報を用いて実装するだけです。