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 アプリケーションのユーザー上限をご覧ください。