Google サービスの認可

Apps Script では、組み込みの Google サービスまたは高度な Google サービスからプライベート データにアクセスするには、ユーザー承認が必要です。

アクセス権の付与

Apps Script は、コードのスキャンに基づいて、自動的に認証スコープ(Google スプレッドシート ファイルや Gmail にアクセスするなど)を決定します。コメントアウトされたコードでも、承認リクエストを生成できます。スクリプトの承認が必要な場合は、実行時にこちらの認証ダイアログのいずれかが表示されます。

以前に承認したスクリプトでも、コード変更により新しいサービスが追加された場合、追加の承認が求められます。スクリプトのオーナーとユーザーの ID で実行されているウェブアプリとしてスクリプトにアクセスする場合、スクリプトが承認をリクエストしないことがあります。

アクセス権の取り消し

スクリプトによるデータへのアクセスを取り消す手順は次のとおりです。

  1. Google アカウントの権限ページにアクセスします。(今後このページにアクセスするには、Google.com にアクセスし、画面右上のアカウント画像をクリックします。続いて、[My Account]、[Connected apps & sites] の [Sign-in & security"] セクションで [Manage Apps] をクリックします)。
  2. 認可を取り消すスクリプトの名前をクリックし、右側の [削除] をクリックして、表示されるダイアログで [OK] をクリックします。

スクリプトの権限と種類

スクリプトで実行されるユーザー ID(つまり、アクセスできるデータ)は、次の表に示すように、スクリプトが実行されるシナリオによって異なります。

スクリプトの種類 スクリプトの実行内容
スタンドアロンアドオン、またはドキュメント、スプレッドシート、スライド、フォームにバインド キーボードのユーザー
スプレッドシートのカスタム関数 匿名ユーザー。ただし、割り当て上限はキーボードのユーザーに対してはカウントされます
ウェブアプリまたは Google サイト ガジェット キーボードまたはスクリプトのオーナーのユーザー(アプリのデプロイ時に選択したオプションに依存)
インストール可能なトリガー トリガーを作成したユーザー

スプレッドシート、ドキュメント、スライド、フォームの手動による承認の範囲

スプレッドシート サービスドキュメント サービススライド サービスフォームサービスのいずれかを使用するアドオンやその他のスクリプトを作成する場合、承認スプレッドシートに、ユーザーのすべてのスプレッドシート、ドキュメント、フォームではなく、アドオンまたはスクリプトが使用されているファイルへのアクセスを要求するよう強制できます。これを行うには、ファイルレベルのコメントに次の JsDoc アノテーションを含めます。

/**
 * @OnlyCurrentDoc
 */

対立するアノテーション @NotOnlyCurrentDoc は、スクリプトに @OnlyCurrentDoc を宣言するライブラリが含まれているにもかかわらず、マスター スクリプトが現在のファイル以外のファイルにアクセスする必要がある場合に利用できます。

アドオンの認可ライフサイクル

Google スプレッドシート、ドキュメント、スライド、フォームのアドオンは通常、ドキュメントにバインドされているスクリプトと同じ承認モデルに従います。ただし、特定の状況において、onOpen(e) 関数と onEdit(e) 関数は無承認モードで実行され、追加機能が発生します。詳細については、アドオン承認のライフサイクルのガイドをご覧ください。

OAuth アプリケーションのユーザー制限

OAuth を使用して Google ユーザーデータ(Apps Script プロジェクトを含む)にアクセスするアプリケーションでは、認可制限が適用されます。詳しくは、OAuth アプリケーションのユーザー制限をご覧ください。