ADVERTISEMENT

【Googleドキュメント】Apps Scriptの実行承認が毎回出る時のアカウント確認

【Googleドキュメント】Apps Scriptの実行承認が毎回出る時のアカウント確認
🛡️ 超解決

GoogleドキュメントでApps Scriptを利用していると、スクリプトを実行するたびに「承認が必要です」というダイアログが表示され、毎回許可を求められることがあります。この現象は業務効率を大きく低下させるため、早急に原因を特定して対処したいところです。本記事では、承認が繰り返し表示される原因をアカウント設定やスクリプトの公開状態などから切り分け、解決するための手順を詳しく解説します。特に、会社のGoogle Workspaceアカウントをお使いの方は、管理者設定が影響しているケースも多いため、注意が必要です。

【要点】この記事で確認すること

  • 最初に見る場所: スクリプトエディタの「デプロイ」管理と、Google Cloud PlatformのOAuth同意画面の設定
  • 切り分けの軸: アカウントの種類(Google Workspaceか個人アカウントか)、スクリプトの公開状態(テスト/公開)、ブラウザのキャッシュやCookieの状態
  • 注意点: 会社のGoogle Workspaceアカウントでは、管理者がOAuthクライアントの制限や信頼できるアプリの設定を行っている場合があります。スクリプトの設定をむやみに変更する前に、管理者に確認してください。

ADVERTISEMENT

承認が毎回表示される主な原因

承認ダイアログが毎回表示される原因は、主に次の3つに分類されます。

  • スクリプトが「テスト」状態のまま公開されていない:スクリプトエディタで作成したスクリプトは、デプロイして公開しない限り「テスト」状態として扱われます。テスト版のスクリプトは、実行のたびに毎回承認が必要になる仕様です。
  • OAuth同意画面のスコープや発行元の設定が不適切:Google Cloud Platformで設定するOAuth同意画面で、必要なスコープが正しく設定されていない、またはアプリが「検証済み」になっていない場合、承認が繰り返し求められることがあります。
  • ブラウザやアカウントのキャッシュ問題:ブラウザのキャッシュやCookieに古い認証情報が残っていると、スクリプトが新しい承認要求を発行しても古い情報と競合して毎回承認画面が出ることがあります。また、複数のGoogleアカウントに同時にログインしている場合も同様の現象が発生します。

事前に確認すべきアカウント設定

Google Workspaceアカウントの場合

会社などで使用するGoogle Workspaceアカウントでは、管理者がOAuth認証に関するポリシーを設定しています。特に以下の点を確認してください。

  • 管理者が「信頼できるアプリ」としてApps Scriptを許可しているかどうか。許可していない場合、スクリプトの実行ごとに承認が必要になります。
  • Google Workspace管理コンソールの「セキュリティ」→「アクセスとデータの制御」→「未確認のアプリ」の設定で、未確認アプリの実行がブロックされていないか。
  • 自分が所有していないスクリプト(共有スクリプトなど)を実行する場合、スクリプトの所有者が「信頼できるテストユーザー」にあなたのアカウントを追加している必要があります。

個人のGoogleアカウントの場合

個人アカウントでは、OAuth同意画面の設定を自分で管理できます。ただし、スクリプトをGoogle Workspace Marketplaceに公開していない限り、画面上の「テストユーザー」として自分自身を追加しておかないと、他のGoogleアカウントからの実行時に毎回承認が発生します。また、個人アカウントでは「認証情報の期限」が長いほど再承認の頻度が下がりますが、セキュリティの観点から短めに設定されている場合もあります。

原因別の症状と対策

原因 症状 対策
スクリプトがテスト状態 実行するたびに「承認が必要です」と表示される。デプロイIDが毎回変わるわけではない。 スクリプトエディタで新しいデプロイを作成し、アクセス権を「全員」または「自分の組織」に設定する。
OAuth同意画面のスコープ不足 承認画面でスコープが毎回表示される。特に「メールを送信」「カレンダーを編集」などのスコープが不足しがち。 Google Cloud ConsoleでOAuth同意画面を編集し、必要なスコープをすべて追加して保存する。公開状態にする場合は「検証」を申請する。
ブラウザのキャッシュ/複数アカウント 一度承認しても次回また承認画面が出る。シークレットウィンドウで試すと直る場合がある。 ブラウザのキャッシュとCookieを削除する。またはシークレットモードでスクリプトを実行し、正常に動けば通常ブラウザのクリアを実施。複数アカウントにログインしている場合は、スクリプト実行に使うアカウント以外をサインアウトする。
管理者ポリシーによる制限 シークレットウィンドウでも毎回承認が出る。他のユーザーも同様の現象が発生している。 管理者に連絡し、スクリプトを「信頼できるアプリ」として許可してもらうか、OAuthクライアントの制限を緩和してもらう。

自分でできるトラブルシューティング手順

  1. スクリプトエディタでデプロイの状態を確認する:スクリプトエディタの「デプロイ」→「新しいデプロイ」を開き、現在のデプロイが「テスト」か「公開」かを確認します。公開になっていない場合は、新しくデプロイを作成し、アクセス権限を「全員(匿名を含む)」または自分の組織に設定します。
  2. OAuth同意画面の設定を確認する:Google Cloud Consoleで該当のプロジェクトを開き、「APIとサービス」→「OAuth同意画面」を開きます。公開状態(本番環境)になっているか、テストユーザーが設定されているかを確認します。テスト段階であれば、自分のメールアドレスがテストユーザーに追加されているか確認してください。
  3. シークレットモードで動作確認する:ブラウザのシークレット(プライベート)ウィンドウを開き、Googleドキュメントにサインインしてスクリプトを実行します。シークレットモードで承認が一度だけ表示されて以降出なくなれば、通常ブラウザのキャッシュやCookieが原因です。
  4. ブラウザのキャッシュとCookieを削除する:Chromium系ブラウザ(Chrome、Edgeなど)の場合、設定から「プライバシーとセキュリティ」→「閲覧履歴データの削除」を開き、「Cookieと他のサイトデータ」と「キャッシュされた画像とファイル」を削除します。削除後、ブラウザを再起動してスクリプトを試します。
  5. アカウントを一時的に切り替える:複数のGoogleアカウントにログインしている場合、スクリプトを実行したいアカウントだけを残して他のアカウントをサインアウトします。その後、再度スクリプトを実行して承認の表示が減るか確認します。
  6. 異なるブラウザで試す:Firefoxなど別のブラウザで同じGoogleドキュメントを開き、スクリプトを実行します。別ブラウザで問題が解決する場合は、元のブラウザのプロファイルに問題がある可能性があります。

それでも解決しない場合の管理者への連絡ポイント

上記の手順を試しても毎回承認が表示される場合、特にGoogle Workspaceアカウントをお使いの方は、管理者の設定が原因である可能性が高いです。管理者に連絡する際は、以下の情報を伝えるとスムーズです。

  • 現象が発生しているスクリプトのURL(スクリプトエディタのURL)
  • 自分のアカウントのメールアドレス
  • どのような操作をしたときに承認が表示されるか(例:特定のスクリプトを実行するたび、ボタンをクリックするたびなど)
  • 自分で試したトラブルシューティングの内容(シークレットモード、キャッシュ削除など)

管理者は、Google Workspace管理コンソールで以下の設定を確認・変更できます。

  • 「セキュリティ」→「APIとOAuth認証」→「OAuthクライアントアクセス」で、該当するアプリのアクセス制限を緩和する。
  • 「アプリ」→「信頼できるアプリ」にスクリプトを追加する。
  • 「セキュリティ」→「未確認のアプリ」で「ユーザーに未確認のアプリの実行を許可する」を有効にする。

よくある質問

承認を一度だけ許可して二度と表示されないようにする方法はありますか?

はい、スクリプトを正式にデプロイ(公開)し、OAuth同意画面を「公開(production)」状態にすることで、承認が長期保存されます。ただし、スコープが変更された場合や一定期間(通常は数ヶ月)が経過すると、再承認が必要になることがあります。完全に無くすことはできませんが、頻度を大幅に減らせます。

自分だけ承認が出るのはなぜですか?他の同僚は出ません。

他のユーザーに出ない場合は、あなたのアカウント固有の問題です。ブラウザのキャッシュ、複数アカウントの競合、またはあなたのアカウントがスクリプトのテストユーザーに追加されていない可能性があります。まずはブラウザのシークレットモードで確認し、それでも出る場合はテストユーザーの設定を見直してください。

シークレットモードでは承認が出ません。通常モードでも直す方法は?

通常モードで再現しない(シークレットモードで出ない)場合、通常ブラウザのキャッシュやCookie、拡張機能が原因です。まずキャッシュとCookieを削除し、それでも直らない場合はブラウザの拡張機能(特に広告ブロッカーやプライバシー拡張)を無効にして試してください。

まとめ

GoogleドキュメントのApps Scriptで毎回承認が求められる問題は、スクリプトの公開状態、OAuth同意画面の設定、ブラウザのキャッシュ、アカウントの競合など、複数の原因が考えられます。まずはデプロイと同意画面の設定を確認し、その後にブラウザのクリーンアップを行うと効果的です。会社のアカウントの場合は管理者のポリシーが関与するため、自分で解決できないときは迅速に管理者へ相談してください。本記事で紹介した手順を体系的に試せば、多くのケースで問題を解決できるはずです。


ADVERTISEMENT

📄
Googleドキュメントトラブル完全解決データベースこの記事以外にも、書式・共有・Apps Script・引用など様々な困りごとへの解決策をまとめています。逆引きに活用してください。
この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT