Google Apps Script のトリガー実行時に出る「リクエストされたドキュメントにアクセスする権限がありません。」の原因と解決法

この記事の内容について、業務や開発でお困りの場合は個別に対応できます。

Google Apps Script を使っていると、普段の手動実行では正常に動くのに、トリガー実行だけエラーになるという理不尽な状況に遭遇することがあります。
今回、私の環境でも time-based トリガー実行時に以下のメールが届きました。

リクエストされたドキュメントにアクセスする権限がありません。

スクリプト自体は正しいのに動かず、どこを直せばいいのか分からない……そんなときに確認すべきポイントをまとめます。

なぜ手動実行はOKなのに、トリガーだけ権限エラーが出るのか

この現象は GAS のトリガーが「自分の権限」で動いてくれないことがある」 という仕様に起因します。
特に以下の状況で起きやすいです。

● スプレッドシート・ドキュメントのオーナーが自分ではない

閲覧・編集権限があっても、トリガー実行時には「必要な権限をもらえていない扱い」になるケースがあります。

● スクリプトとスプレッドシートのオーナーが違う

コンテナバインド(スプレッドシートに紐づいたGAS)の場合は特に発生しやすいです。

● トリガー作成者のアカウントと実行対象ファイルのアカウントが別

例:仕事用アカウントでファイルを開き、個人アカウントでトリガーを設定してしまっている。

● 再認証が必要なタイミングで放置していた

GAS は一定期間権限更新がないと、勝手に権限エラーになることがあります。

解決策:まずはこの順番で確認すれば直る

私の環境では以下の手順で問題なく復旧しました。

1. スクリプトエディタを開いて「権限を再承認」する

▶️ 実行 → ポップアップが出たら承認
これだけで直るケースが多いです。

2. 対象のスプレッドシートやドキュメントの「オーナー権限」を自分に変更

他者がオーナーになっているとトリガーが動作しない場合があります。

3. トリガーを一度削除して作り直す

特に time-based トリガーは、権限の紐づけが壊れていることがよくあります。

4. 実行しているアカウントが正しいか確認

Chrome のログインアカウントが違うと、GAS が誤った権限で処理されることがあります。

5. Google Workspace の管理者による制限

組織アカウントの場合、管理者が外部ファイルアクセスを制限している可能性も。

同じエラーを防ぐためのポイント

  • スプレッドシートのオーナーは極力「スクリプトを管理する本人」に統一する
  • トリガーは都度作り直すと安定
  • 権限周りの変更後は必ず「手動実行 → トリガー実行」の順で確認する
  • 可能ならば、Drive のフォルダ単位で編集権限を付ける(個別付与より安定)

まとめ

このエラーは、コードが悪いというより 「GAS の権限システムが複雑すぎる」 ことによって起きる典型例です。
特に time-based トリガーは権限の紐づけが壊れやすく、手動では動くのにトリガーで権限エラーになることが多くあります。

私の場合も、権限の再認証 → トリガー作り直し で問題なく復旧しました。
同じ状況で困っている方の参考になれば幸いです。


参考URL一覧(記事タイトル + 生URL)

  1. Google Apps Script トリガーの権限エラー解説
    https://developers.google.com/apps-script/guides/triggers/installable
  2. スクリプトの権限と承認について
    https://developers.google.com/apps-script/concepts/scopes
  3. Google Workspace 管理者向け:APIアクセス制限
    https://support.google.com/a/answer/60757

ZIDOOKA!

この記事の内容について、対応できます

この記事に関連する技術トラブルや開発上の問題について個別対応を行っています。

個別対応は3,000円〜 内容・工数により事前にお見積りします
最後までお読みいただきありがとうございました

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

AI活用に関するポリシー

当サイトでは、記事の執筆補助にAIを活用する場合がありますが、全面的な委任は行いません。