ADVERTISEMENT

【Googleスプレッドシート】Apps Script実行時に承認画面が出ない時の表示トラブル解消法

【Googleスプレッドシート】Apps Script実行時に承認画面が出ない時の表示トラブル解消法
🛡️ 超解決

Googleスプレッドシートで作成したApps Scriptを実行しようとしたとき、通常はスクリプトが初めてアクセスするデータや機能に対して承認画面が表示されます。しかし、その承認画面が表示されず、スクリプトが途中で止まってしまったり、エラーメッセージも明確でないケースがあります。特に会社のGoogle Workspaceアカウントを使用している場合、組織のセキュリティポリシーやブラウザの設定が原因で承認プロセスがブロックされていることが多いです。この記事では、承認画面が出ない原因を計画的に切り分けるための確認手順と、具体的な対処方法を説明します。

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

  • 最初に見る場所: ブラウザのシークレットモードでスクリプトを実行し、承認画面が表示されるか確認する。
  • 切り分けの軸: 端末側(ブラウザ設定、キャッシュ)、アカウント側(権限、プロファイル)、管理設定側(Google Workspace管理コンソールのポリシー)の3つで原因を分類する。
  • 注意点: 会社PCではブラウザの拡張機能やプロキシ設定を勝手に変更しない。管理者に連絡する前に、自分で試せる範囲の確認を優先する。

ADVERTISEMENT

1. 最初に確認すべき基本ポイント

承認画面が出ない現象は、大きく分けて「ブラウザの問題」「アカウントの問題」「組織のポリシーの問題」の3つに分類できます。まずは自分で簡単に確認できる項目から試してみてください。

1-1. シークレットモードでの動作確認

最もシンプルな確認方法は、ブラウザのシークレットウィンドウ(Chromeならシークレットモード)でスクリプトを実行することです。シークレットモードでは拡張機能、キャッシュ、一部の設定が無効になるため、承認画面が表示されるかどうかの判断材料になります。

  1. ブラウザのメニューから「新しいシークレットウィンドウ」を開きます。
  2. Googleアカウントにサインインし、該当のスプレッドシートを開きます。
  3. スクリプトを手動で実行(例: カスタムメニューから関数を選択)してみてください。
  4. 承認画面が表示されれば、通常のブラウザ環境に問題があると判断できます。

1-2. ポップアップブロックの解除

承認画面は新しいウィンドウまたはポップアップとして表示されることがあります。ブラウザのポップアップブロックが有効だと、承認画面自体が表示されずにスクリプトが停止します。Chromeの場合、アドレスバーの左端にあるロックアイコンや「保護された通信」アイコンをクリックし、「ポップアップ」の設定を「許可」に変更してください。

2. ブラウザ環境の詳細な確認とクリア方法

シークレットモードで承認画面が出た場合、通常ブラウザのキャッシュ、クッキー、または拡張機能が原因です。以下の手順で環境をリセットしてください。

2-1. キャッシュとクッキーの削除

  1. Chromeの場合、設定メニューから「プライバシーとセキュリティ」→「閲覧履歴データの削除」を開きます。
  2. 「Cookie と他のサイトデータ」と「キャッシュされた画像とファイル」にチェックを入れます。
  3. 期間は「全期間」を選択し、「データを削除」を実行します。
  4. ブラウザを再起動して、再度スクリプトを実行してみてください。

2-2. 拡張機能の一時無効化

広告ブロックやプライバシー関連の拡張機能が承認画面の表示を妨げることがあります。すべての拡張機能を一時的に無効にしてから試すとよいでしょう。Chromeで「chrome://extensions/」にアクセスし、各拡張機能のトグルスイッチをオフにします。

3. Googleアカウントの権限設定と承認状態のリセット

ブラウザ環境が正常でも、アカウント側で過去に拒否した承認や権限の競合が原因で承認画面が表示されないことがあります。

3-1. アカウントのサードパーティアプリとサービスの確認

Googleアカウントの設定ページ(myaccount.google.com)で「セキュリティ」→「サードパーティのアプリとサービス」を開き、該当のスクリプトやプロジェクトが「アクセスを取り消し」になっていないか確認します。もし拒否状態になっていたら、一度削除してから再実行すると承認画面が表示されるようになります。

3-2. プロジェクトのOAuth同意画面のリセット(開発者の場合)

自分でスクリプトを作成している場合、Google Cloud ConsoleでOAuth同意画面の設定が未公開(テストモード)になっていると、承認画面の表示が制限されることがあります。公開設定にするか、テストユーザーに自分のアカウントを追加してみてください。

ADVERTISEMENT

4. 組織の管理ポリシーの確認(Google Workspace管理者向け)

会社のGoogle Workspaceアカウントで発生する場合、管理者が組織のセキュリティポリシーによってApps Scriptの承認を制限している可能性が高いです。以下の項目を管理者に確認する際の参考にしてください。

原因 確認方法 解決方法
ブラウザのキャッシュ/クッキー シークレットモードで表示されるか確認 ブラウザのデータ削除
ポップアップブロック アドレスバーのブロックアイコンを確認 サイトのポップアップを許可
アカウントの権限競合 アカウント設定の「サードパーティのアプリとサービス」 権限を取り消して再実行
組織のOAuthポリシー 管理コンソールの「APIとサービス」→「OAuth同意画面」 管理者が対象スクリプトを信頼済みリストに追加
スクリプトのスコープ不足 スクリプトエディタの「承認」メニューでエラー確認 manifestのスコープを追加

5. 管理者への依頼手順と伝えるべき情報

組織ポリシーが原因と判明した場合、管理者に具体的な情報を提供することで解決が早まります。以下の手順で依頼してください。

  1. 管理コンソールで「アプリのアクセス制御」が有効になっていないか確認を依頼します。
  2. スクリプトのプロジェクトキー(スクリプトエディタで「ファイル」→「プロジェクトのプロパティ」から確認)を伝えます。
  3. 承認画面が出ない場合でも、エラーログがあれば添付します(スクリプトエディタの「表示」→「ログ」)。
  4. テストユーザーとしてアカウントを追加してもらうよう依頼します。
  5. 緊急時には、一時的にスクリプトを「社内のみ」から「全員(公開)」に変更する検討を依頼します。

6. よくある質問(FAQ)

Q1: シークレットモードでも承認画面が出ません。組織のポリシーでしょうか?
A: その可能性が高いです。管理者に連絡し、管理コンソールの「アプリのアクセス制御」と「OAuth同意画面」の設定を確認してもらってください。

Q2: 承認画面が出た後に「アクセスが拒否されました」と表示されます。
A: スクリプトが必要とする権限(スコープ)が組織で許可されていない場合があります。管理者に必要なスコープ(例: spreadsheets、drive等)を確認し、許可を依頼してください。

Q3: 別のアカウントで試すと承認画面が出ます。自分のアカウントだけの問題ですか?
A: アカウント固有の問題です。アカウント設定の「サードパーティのアプリとサービス」で権限を取り消し、ブラウザのデータを削除してから再試行してください。

Q4: 管理者に依頼しましたが「特に制限していない」と言われます。
A: その場合、ブラウザの拡張機能やプロキシの影響が疑われます。会社のIT部門にブラウザの標準設定に戻してもらうか、別のPCで試すことを検討してください。

7. まとめ

Apps Scriptの承認画面が出ない原因は、ブラウザ環境、アカウントの権限、組織のポリシーのいずれかに集約されます。最初にシークレットモードで動作確認を行い、次にブラウザのキャッシュとポップアップブロックを確認し、最後にアカウント設定をリセットするという順序で切り分けると効率的です。それでも解決しない場合は、組織の管理ポリシーが原因である可能性が高いため、管理者に本記事で紹介した情報を伝えて協力を仰ぎましょう。事前にスクリプトのプロジェクトキーと必要なスコープをまとめておくと、管理者の対応がスムーズになります。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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

ADVERTISEMENT