GoogleドキュメントでApps Scriptを実行しようとしたとき、突然権限承認を求める画面が表示され、戸惑ったことはありませんか。この現象は、スクリプトがドキュメントや他のGoogleサービスにアクセスするために必要なプロセスです。しかし、自分の書いたスクリプトなのに毎回承認を求められる、あるいは共有されたスクリプトが実行できないといったケースでは、原因を正しく切り分けることが重要です。この記事では、権限承認が発生する仕組みと、状況別の確認ポイントを詳しく解説します。会社のPCで利用されている方に向けて、管理者設定の影響や安全な対応方法についても触れます。
【要点】この記事で確認すること
- 最初に見る場所: スクリプトが要求するスコープ(権限の範囲)をスクリプトエディタの「プロジェクトの設定」で確認します。必要以上に広い権限を要求していないかが重要です。
- 切り分けの軸: スクリプトを自分が作成したか、他のユーザーから共有されたか、またはテンプレートから追加したかで原因が異なります。また、組織のGoogle Workspace管理設定が影響している場合もあります。
- 注意点: 会社のPCでは、IT管理者がアプリのアクセス制限やOAuth同意画面の設定を行っていることがあります。自己判断で承認せず、まずは管理者に問い合わせることを推奨します。
ADVERTISEMENT
目次
権限承認が表示される仕組みと原因
Apps ScriptがGoogleドキュメントやスプレッドシート、Gmailなどのサービスにアクセスするには、実行前にユーザーまたは組織の承認を得る必要があります。これは、スクリプトが悪用されないためのセキュリティ措置です。承認画面が表示される主な原因は以下のとおりです。
スクリプトが必要とするスコープ
スクリプトは、使用するメソッドに応じて特定のスコープ(権限の種類)を要求します。例えば、ドキュメントの内容を読み取るだけのスコープと、ドキュメントを編集・削除するスコープでは異なります。スクリプトエディタの「プロジェクトの設定」で現在のスコープを確認できます。スコープリストに明らかに不要なものが含まれている場合、そのスクリプトは疑わしい可能性があります。
承認が毎回求められるケース
同じスクリプトを何度も実行しているのに毎回承認を求められる場合、スクリプトが「一時的な承認」しか保持していないか、またはスコープが変更された可能性があります。標準では、一度承認したスクリプトはそのユーザーとプロジェクトに対して次回以降自動的に承認されますが、スクリプトのコードやスコープが更新されると再承認が必要です。
組織のポリシーによる制限
Google Workspace管理者は、管理コンソールで未確認アプリの許可やOAuth同意画面の設定を行えます。組織によっては、特定のスコープを持つスクリプトの実行がブロックされたり、承認画面に組織の承認が必要と表示されたりします。この場合、エンドユーザーが承認しても実際には実行できません。
| 状況 | 承認の出方 | 考えられる原因 |
|---|---|---|
| 自分で作成したスクリプト | 初回のみ承認、スコープ変更時のみ再承認 | 開発中のテストで毎回出る場合は、コード内で動的にスコープが追加される処理がある可能性 |
| 共有されたスクリプト(他人が作成) | 初回承認後は再承認不要(変更がない場合) | スクリプトのオーナーが変更されたり、スコープが広すぎると組織ポリシーでブロックされることがある |
| テンプレートから追加したスクリプト | 初回承認が必要、テンプレート更新で再承認が出ることがある | テンプレート提供元のスクリプトが更新されると、自分のコピーに影響する |
自分で作成したスクリプトの場合の確認手順
自身が作成したスクリプトで権限承認が繰り返し表示される場合は、まずスクリプトのスコープを検証します。以下の手順で確認してください。
- Googleドキュメントを開き、メニューから「拡張機能」→「Apps Script」をクリックしてスクリプトエディタを開きます。
- 左側の「プロジェクトの設定」(歯車アイコン)をクリックします。
- 「スコープ」セクションで、スクリプトが要求しているスコープの一覧を確認します。不要なスコープ(例:自分のスクリプトがメール送信をしていないのにGmailのスコープがある)が含まれていないかチェックします。
- 必要に応じて、コード内で使用しているサービスを限定します。例えば、`SpreadsheetApp`だけ必要なのに`GmailApp`を使っていると、自動的にそのスコープが追加されます。
- コードを変更したら、スクリプトエディタで「保存」し、再度実行して承認画面が表示されるか確認します。
開発中のテストで毎回承認が出る場合
開発中に何度も実行テストを行うと、そのたびに承認画面が表示されることがあります。これは、スクリプトが異なるスコープを動的に要求する場合や、コードの変更が頻繁にある場合に発生します。このようなときは、承認画面の「このアプリは確認されていません」という警告をよく読み、信頼できるスクリプトであれば「詳細」から安全に承認を進めてください。ただし、組織のポリシーで未確認アプリが禁止されている場合は、管理者に連絡する必要があります。
共有されたスクリプト(他人が作成)の場合の確認手順
他のユーザーから共有されたスクリプトを実行するときは、特に注意が必要です。スクリプトがどのような操作を行うのか、信頼できる提供元かどうかを確認しましょう。以下のポイントを確認してください。
スクリプトの出所と内容の確認
共有されたスクリプトが、ドキュメントの内容を読み取るだけなのか、メール送信やファイル削除など高度な操作を行うのかは、スコープ一覧で把握できます。承認画面に表示されるスコープを必ず読み、必要以上の権限を要求している場合は実行を控えてください。
組織内の信頼ソースからのスクリプト
社内のチームメンバーから共有されたスクリプトでも、その人が悪意を持っていなくてもスクリプトにバグや脆弱性が含まれている可能性があります。可能であれば、スクリプトエディタでコードを開いてざっと内容を確認しましょう。特に`UrlFetchApp`や`GmailApp`など外部通信や重要な操作を行う部分は注意が必要です。
承認前にやっておくべきこと
承認画面で「許可」をクリックする前に、画面右上の「このアプリは Google で確認されていません」という警告を確認します。自分が信頼するスクリプトであれば「詳細」をクリックし、「安全ではないページに移動」などのリンクから承認を進めます。信頼できない場合は「拒否」を選択し、共有者に問い合わせてください。
組織の管理者設定が影響するケース
会社や学校のGoogle Workspaceアカウントを使用している場合、IT管理者がアプリのアクセス制限をかけていることがあります。このような状況では、いくら自分で承認してもスクリプトが実行できない、または承認画面自体が表示されないことがあります。
管理コンソールの設定を確認する
管理者は管理コンソールで「APIの制御」→「未確認アプリの許可」や「OAuth同意画面」の設定を行えます。未確認アプリがブロックされている場合、スクリプトが未確認アプリと判断されると承認できません。また、組織で許可されているスコープのホワイトリストがある場合、それ以外のスコープは拒否されます。
管理者に伝えるべき情報
スクリプトが実行できない理由を管理者に報告するときは、以下の情報を伝えるとスムーズです。
- スクリプトの名前とプロジェクトID(スクリプトエディタの設定で確認可能)
- 表示されるエラーメッセージ(例:「このアプリはブロックされました」など)
- スクリプトが要求するスコープのリスト
- スクリプトの用途(どのような処理を行うのか)
承認を求められたときの具体的な対応手順
権限承認画面が表示されたときの、安全な対応手順をまとめました。以下の流れで進めてください。
- 承認画面で表示されたアプリ名と権限(スコープ)を読み、意図した内容と一致するか確認します。
- 「このアプリは確認されていません」と表示された場合は、詳細を開いて提供元を確認します。自分で作成したスクリプトや社内で共有された信頼できるスクリプトであれば、「(安全ではないページ)に移動」をクリックして承認を続行します。
- 「許可」をクリックする前に、組織のポリシーに違反していないか確認します(例:個人用アカウントで業務データを扱うスクリプトなどは避ける)。
- 承認後、スクリプトが正常に実行されるかテストします。問題が続く場合は、管理者に問い合わせます。
- 承認を取り消したい場合は、Googleアカウントの「セキュリティ」→「サードパーティのアプリとサービス」から該当するアプリを削除できます。
よくある失敗パターンと対処法
権限承認に関連してよく起きるトラブルのパターンを挙げます。
承認してもスクリプトが動かない
承認したのにスクリプトがエラーになる場合、スコープが不足しているか、コード自体に問題がある可能性があります。スクリプトエディタの「実行」で発生したエラーメッセージを確認し、必要に応じてコードを修正してください。また、組織の制限でスコープが拒否されているケースもあるため、管理者に問い合わせます。
誤って「拒否」をクリックしてしまった
一度拒否すると、そのスクリプトに対する承認はキャンセルされます。再度実行すれば承認画面が再表示されるため、正しい判断で承認し直してください。それでも表示されない場合は、Googleアカウントの「セキュリティ」→「サードパーティのアプリとサービス」で該当アプリがブロックされていないか確認します。
「このアプリは確認されていません」と表示されて進めない
この警告は、Googleがアプリの安全性を確認していないことを意味します。組織のポリシーで未確認アプリが許可されていない場合、管理者にスクリプトを「確認済みアプリ」として登録してもらう必要があります。管理者はGoogle Cloud ConsoleでOAuth同意画面の設定を変更し、アプリを確認済みにできます。
よくある質問(FAQ)
Q. 権限承認の画面が毎回表示されるのはなぜですか?
スクリプトのコードやスコープが変更された、または承認の有効期限が切れた可能性があります。また、シークレットモードや別のブラウザプロファイルで実行している場合も毎回承認が必要です。
Q. 権限承認画面に表示される「Google に確認されていません」は危険ですか?
必ずしも危険というわけではありませんが、そのアプリがGoogleの審査を受けていないことを示します。自分で作成したスクリプトや社内スクリプトはこの状態であることが多いため、信頼できるソースであれば問題なく使用できます。
Q. 管理者に相談する前に自分でできることは何ですか?
まずはスクリプトのスコープを確認し、必要最小限の権限になっているかチェックします。また、ブラウザのキャッシュをクリアしたり、シークレットウィンドウで試してみても改善することがあります。
まとめ
GoogleドキュメントのApps Script実行時における権限承認は、スクリプトが安全に動作するための仕組みです。承認画面が出たときは、まずスクリプトのスコープを確認し、自分にとって必要な権限かどうかを判断しましょう。自分で作成したスクリプトであればスコープの絞り込み、共有されたスクリプトであれば出所の確認が重要です。会社のPCでは管理者の設定が影響するため、問題が解決しない場合は躊躇せずにIT管理者へ連絡してください。適切に対処することで、Apps Scriptを安心して活用できるようになります。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
