Google サービスの承認

Apps Script が組み込みの Google サービスまたは高度な Google サービスの個人データにアクセスするには、ユーザー承認が必要です。

アクセス権の付与

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

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

アクセス権の取り消し

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

  1. Google アカウントの権限ページにアクセスします。(今後このページに移動するには、Google.com にアクセスしてから、画面右上のアカウント画像をクリックします。次に、[アカウント情報] をクリックし、[ログインとセキュリティ] セクションの [接続済みのアプリとサイト]、[アプリを管理] の順にクリックします)。
  2. 承認を取り消すスクリプトの名前をクリックし、右側の [削除] をクリックしてから、表示されたダイアログで [OK] をクリックします。

権限とスクリプトの種類

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

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

スプレッドシート、ドキュメント、スライド、フォームの手動認証スコープ

スプレッドシート サービスドキュメント サービススライド サービス、またはフォーム サービスを使用するアドオンやその他のスクリプトを作成する場合は、ユーザーのすべてのスプレッドシート、ドキュメント、フォームではなく、アドオンまたはスクリプトが使用されているファイルへのアクセスのみを要求するように認証ダイアログに許可させることができます。これを行うには、ファイルレベルのコメントに次の JsDoc アノテーションを追加します。

/**
 * @OnlyCurrentDoc
 */

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

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

通常、Google スプレッドシート、ドキュメント、スライド、フォームのアドオンは、ドキュメントにバインドされたスクリプトと同じ認証モデルに従います。ただし、状況によっては、onOpen(e) 関数と onEdit(e) 関数が認可なしモードで実行されるため、状況が複雑化します。詳細については、アドオン承認ライフサイクル ガイドをご覧ください。

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

OAuth を使用して Google のユーザーデータにアクセスするアプリケーション(Apps Script プロジェクトを含む)は、承認制限の対象となります。詳しくは、OAuth アプリケーションのユーザー数の上限をご覧ください。