GASのウェブアプリが開けなくなる障害発生中
Google Workspaceになる以前からなにやらGoogle Apps Script界隈はエラーが続出しており、正直萎えてきているのですが、また新たなトラブルが発生してるようです。
※2022年9月9日、似たようなエラーが発生しています。詳細は以下のエントリーにて(原因は全く別ですが)
トラブル内容
概要
現在発生してるトラブルは以下のようなもの。このサイトのGAS最新情報でも発生してるのがわかります。
- Google Workspaceのアカウントにログインしてる場合は、同じドメイン内のアカウントの場合、組織内のウェブアプリは閲覧可能。
- Google Workspace側のウェブアプリを誰でも閲覧可の権限であっても、通常のGoogleアカウントでは閲覧ができない
- ウェブアプリだけでなく、スクリプトエディタの画面を開こうとしても、このエラーがでるケースがあります。
- ただし公開したexecのURLがGoogleアカウントで作ったウェブアプリの場合には、Google Workspaceで開いてもきちんと開かれる
図:ウェブアプリが表示されずエラーとなる
ドライブの問題
関連する問題点として、Google Workspaceのアカウントでログインしていて、尚且通常のGoogleアカウントでもログイン状態で、どちらもGoogle Driveを開いてる場合、スクリプトエディタに片方が入ると、もう片方は以下のようなエラー画像が出て強制ログアウト状態になる。しかし、再度ログイン画面を出すと何事もなくログイン状態に戻る。
但し、ダイアログにある再試行や再度ログインをクリックしてもログインは出来ません。トップページからのログインが必要。しかし、ログインすると今度はもう片方で同じエラーが出る。つまり、複数アカウントでログインが出来ない状態。
この問題、2014年ころからずっと確認してる問題で、未だにGoogleは解決出来ていない問題の一つで、スプレッドシートを開く際にも、複数ログイン状態の場合、アクセス権限が無いなんて言われることがある。複数アカウントでのログインのセッション管理が出来ていないが為に発生してるのでしょう。
図:片方のアカウントでこのエラー画面が出るようになった
おそらくこの問題は、Google Workspacesへリブランドした事で発生してる障害だと思われます。これまでも、同様のトラブルが大型アップデート後に発生した時があり、この現象を確認できるのは、「G SuiteアカウントとGoogleアカウントで二重ログインしてるケース」が該当します。一旦ログアウトしてどちらか一方のアカウントでのみログインしてみましょうといういつものパターンです。
テストしてみた
今回以下のサンプルでテストしてみました。
- 座席表アプリスプレッドシート(オーナーはGoogleアカウント)
- 座席表ウェブアプリ(アカウント無しでフルアクセス可能の権限で公開)
自分がしらべたケースでは
- まず全てのアカウントからログアウトする
- 先に通常のGoogleアカウントでログインしておく
- 次にGoogle Workspaceアカウントでログインをする
- 上記の座席表アプリにアクセスすると、どちらの場合でも表示される
- 逆に、先にGoogle Workspaceのアカウントでログインしておいて、次にGoogleアカウントにログインした状態の場合には、片方で表示がされずエラーになる。
- 先にログインしてるアカウントが優先されるようです。
暫定解決法
問題なのは、通常のPCの場合は、Googleアカウントからログアウトできるのですが、Chromebookの場合ログアウトができないので、Googleアカウントのウェブアプリが見られないだけでなく、スクリプトエディタも開けない状態になったままとなるので
- どちらかのアカウントを一度Chromebookから削除しておく(メインのアカウントだけ残す)
- その状態であとから別のアカウントを再度追加しなおす
- つまり、Googleアカウント→G Suiteアカウントの順番でログインしてから作業するとOK。もしくは、G Suiteアカウントのみ運用にする。
Webアプリ自体のURL(execのもの)は、
- https://script.google.com/macros/s/スクリプトID/exec(通常のGoogleアカウントの場合)
- https://script.google.com/a/macros/officeforest.org/s/スクリプトID/exec(G Suiteアカウントの場合)
となっているので、G Suiteがメインの場合でGoogleアカウント作成のウェブアプリを開きたい場合には、URLの形式をG Suiteの場合の形式(ドメイン含むアドレス)に直してアクセスすれば当座表示が可能です。非常にややこしく鬱陶しいトラブルですね。。通常のGoogleアカウントの場合のURLだとドメインのURLにきちんとリダイレクトされないでエラーに繋がります。
ということで、GAS最新情報のウェブアプリもURLはドメインを含んだ形式に直して貼り付けなおしたら両方のアカウントから見られるようになりました。
G Suiteアカウントで組織内の人しか使わないケースの場合には、トラブルに遭遇しないので気が付かないかもしれません。またこの問題はChromeブラウザのみで起きており、FireFoxやSafariでは発生していないようです。Chromeにログインしてるとこのような事態に遭遇するみたいです。
Issue Tracker情報
すでにいくつかの報告がIssue Trackerにも寄せられているようです。
- Google App Script Web App URL is wrong when authenticated with multiple google accounts
- When authenticated with multiple google accounts App Script Web App URL goes wrong
- Deployed/Published Apps script web application no longer working randomly. Service Outage?
- Invalid Webapp Script Redirect