📎
devcontainer で clasp がログインできない
現象
devcontainer の環境で clasp にログインするために次のコマンドを実行します。
npm run clasp -- login --no-localhost
次のような URL が表示されるので、ブラウザで開くと今までは問題なくログインすることができました。
Logging in globally…
🔑 Authorize clasp by visiting this url:
https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=xxxxxx
Enter the code from that page here:
しかし、ブラウザで次のようなエラー画面が表示されてログインできなくなりました。
アクセスをブロック: clasp – The Apps Script CLI のリクエストは無効です
原因
OOB が廃止されたことが原因のようです。
回避策
--no-localhost
オプションを付けづにログインを実行します。
npm run clasp -- login
次のような URL が表示されるので、ブラウザで開きログインを行います。
Logging in globally…
🔑 Authorize clasp by visiting this url:
https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&scope=xxxxx
ブラウザでログインが完了すると このサイトにアクセスできません localhost で接続が拒否されました。
と書かれた画面が表示されます。
アドレスバーの http://localhost:34841/?code=
から始まる URL をコピーします。
devcontainer で新しいターミナルを開き curl
コマンドでコピーした URL に HTTP リクエストを送信します。 URL は "
で囲って下さい。
curl "{http://localhost:34841/?code= から始まる URL}"
ログインに成功するとターミナルに次のメッセージが表示されます。
Logged in! You may close this page.
ターミナルに次のコマンドを入力しログインしていることを確認します。
npm run clasp -- login --status
Discussion