Google Apps Script ~ 誰もがつまづくポイント

スプレッドシートでWebアプリを作ってデプロイして、公開URLにアクセスしたところ、Google Chromeではアクセスできるものの、Microsoft Edgeからアクセスできない事象が発生しました。そこで、なんで開けないの。。。の疑問をAIに投げかけて聞いてみました。

結論から言うと、スプレッドシートでGAS(Google Apps Script)を使う際に「誰もがつまづくポイント」だったらしいです。


/exec が付いているのに Edgeだけで「現在、ファイルを開くことができません」になるという状況、原因はかなり絞れます。
結論から言うと、 URL に含まれている「/u/1/」が Edge で問題を引き起こしている可能性が非常に高いです。
なぜ「/u/1/」が問題になるのか? URL はこうなっています:

https://script.google.com/macros/u/1/s/***************/exec

この「/u/1/」は “Google アカウント番号” を表す内部的なパスで、本来公開用WebアプリのURL には含まれません。
Chromeではログイン状態が安定しているため問題が起きないのですが、Edgeではこの「/u/1/」が原因でGoogleドライブの認証に失敗し、「現在、ファイルを開くことができません。」というエラーが出ることがよくあります。

正しい公開用URLの形通常のWebアプリURLはこうです:

https://script.google.com/macros/s/*****************/exec

「/u/1/」は入らない。。。


今すぐできる解決策(最重要)

  1. URL から「/u/1/」を削除してアクセスする。つまり、こう書き換えます。
    https://script.google.com/macros/s/*******************/exec
    これだけで Edge でも開ける可能性が非常に高いです。もしそれでもダメなら(次のステップ)
  2. GAS で「新しいデプロイ」を作り直す。
    GAS → デプロイ → 新しいデプロイ → 公開 URL を再取得 → そのURLをEdgeで開く。このときも、URLに「/u/1/」が入っていないか必ず確認してください。
  3. Edge の Cookie を削除する。
    特に「script.google.com」「google.com」の Cookie を削除すると改善します。
  4. まとめ
    あなたの URL は /exec で正しいように見えますが、 「/u/1/」が入っているため、Edge が Google ドライブの認証に失敗しているというのが最も合理的な説明です。まずは /u/1/ を削除した URL でアクセスしてみてください。 ほぼ確実に改善します。

コメント