突然、新規に作成したスプレッドシートでGASのスクリプトを書いて実行しようとすると、「承認が必要です」とのダイアログボックスが表示され、承認操作のあとに、「このアプリはブロックされます」と表示され、アプリを実行できなくなり困った。
「詳細」のリンクがあれば、それをクリックして権限を与えられるのだが、そのリンクがどこにもない。
ほんとにこの件は、突然で。昨日までは何の前触れもなく、スプレッドシートからスクリプトを作っていたのに。ちなみに、昨日まで作ったスクリプトは、これまで通りに動く。動かないのは今日作ったスクリプトのみ。
調べたこと:
・数行の基本的なGASのコードでも問題は起こることを確認。
・コード内容自体が問題なのではなく、Googleのアクセス権が問題なのかと思ったが、自身ではそこまでアクセス権を意識した使い方はしていない。
・ただ、該当のアカウントは、複数の社員で使いまわしている(ので、Google様の逆鱗に触れた可能性は大いにあり)。
やったこと:
Google アカウント コミュニティに書き込みした。
適切な回答は得られなかった。
Google Oneに入っていたので、チャットで質問した。
適切な回答は得られなかった。
クラウドソーシングに、お仕事依頼してみた。
適切な回答は得られなかった。が、数週間やり取りしたおかげで、脳がほぐれ、最後は自力で解決に向かう。
わかったこと:
原因は不明だが、対応方法は、みつけた。
1.Google Cloud Platformで新しいプロジェクトを作り、そのプロジェクト番号で、デフォルトを置き換える。
これで「このアプリはブロックされます」は、でなくなった。
めでたしめでたし!
しかし、数日してから、別の問題が、もう一つ起こった。
これまで動いていたスクリプトのうち、外部のスプレッドシートを参照するものについて、権限のエラーが起こるようになった。
やったこと:
スクリプトのメニューの一番下のギヤマーク「プロジェクトの設定」をクリックし開く。
「appsscript.json」マニフェスト ファイルをエディタで表示する、にチェックを入れる。
エディタの左上に、appsscript.jsonというファイルが現れるので、そこを画像のように直す。
これで、OK!!
今回のトラブルの、推測できる原因としては、「Googleから怪しいアカウントとして目を付けられ、要求されるセキュリティを上げられた」ということではないかと思う。