Google サービスの認可

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

アクセス権の付与

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

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

アクセス権の取り消し

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

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

スクリプトの権限と種類

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

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

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

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

/**
 * @OnlyCurrentDoc
 */

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

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

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

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

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