「権限が必要です」と表示されたときの原因と対処法|GAS・Googleスプレッドシート

記事
IT・テクノロジー
今まで動いていたGASを実行したら、突然「権限が必要です」「このアプリは確認されていません」といった画面が出て止まってしまった――という相談をよくいただきます。この表示は、コードが壊れたサインではなく、コードの外側にある要因が原因になっていることがほとんどです。よくある原因を、確認しやすい順に並べました。確認しても解決しない場合の相談先は、記事の最後に載せています。

① 誰が実行しているか(オーナー権限)を確認する

トリガーで自動実行されるGASは、「最後にトリガーを保存した人」の権限で動きます。そのオーナーのGoogleアカウントで、スプレッドシートやGmail等へのアクセス権限が失効・変更されると、この症状が出ます。特に、担当者が異動・退職してアカウントが使えなくなった後によく発生します。

② 一時的な確認トークンの期限切れ(テストユーザー設定)

新しく作成したGASプロジェクトは、Googleの審査を受けていない「未確認アプリ」として扱われ、最初の同意が一定期間だけ有効になることがあります。期限が切れると、再度権限画面が表示され、承認をやり直す必要があります。

③ スコープが増える変更を加えた後

コードに新しい機能(例えばGmail送信やDriveアクセスなど)を追加すると、必要な権限の範囲(スコープ)が広がります。この場合、以前の承認では足りず、追加の許可が求められます。

④ 組織(Google Workspace)側のセキュリティ設定変更

会社や組織でGoogle Workspaceを使っている場合、管理者側で「外部アプリやスクリプトへのアクセス制限」を後から強化することがあります。個人の設定ではなく、組織全体のポリシーが原因になっているケースです。

⑤ 共有設定・ファイルのオーナー変更

スプレッドシート自体の共有範囲が変更されたり、オーナーが別の人に移った場合も、それまで正常に動いていたコードが権限エラーを起こすことがあります。

対処の基本的な流れ

1.まずトリガーの実行者(オーナー)を確認する
2.スクリプトエディタから手動で一度実行し、表示される承認画面の内容を確認する
3.組織アカウントの場合は、管理者に外部アプリの利用制限がかかっていないか確認する
4.承認をやり直しても解決しない場合は、コード内で要求している権限の範囲が実際の処理に対して広すぎないか見直す

確認時の注意点

権限の再承認や共有設定の変更は、他の共同編集者の作業に影響が出ることがあります。特に「オーナーを変更する」操作は取り消しにくいため、変更前に必ず現在の共有設定をメモしておいてください。また、承認画面のスクリーンショットを共有する際は、表示されるGoogleアカウントのメールアドレスなど個人情報が写り込むことがあるため、必要に応じて黒塗りにしてから共有してください。

まとめ

「権限が必要です」という表示は、コードの不具合ではなく、オーナー権限・承認の期限・組織設定など、コードの外側にある要因で起きていることが多くあります。焦って権限を許可し直す前に、まずは「誰の権限で動いているか」を確認することが第一歩です。

ここまで確認して止まったら

次のどれかに当てはまる場合は、ご自身で直そうとせず、ご相談ください。
・承認をやり直しても、同じ画面が繰り返し表示される
・誰の権限で動いているのか、トリガー画面を見ても分からない
・前任者が作ったGASで、どこを触ってよいか判断できない

下のサービスで、原因の調査から修正まで対応しています。既存のGAS1件・不具合1件で3,000円、原則3日以内に納品します。

承認画面のスクリーンショットと「いつから・何をしたら止まったか」を送っていただければ、24時間以内に原因の見立てをお伝えします。「自分の症状が対応範囲か分からない」という段階の見積り相談も歓迎です。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す