Apps Script では、組み込みの Google サービスまたは高度な Google サービスのプライベート データにアクセスするユーザー承認が必要です。
アクセス権の付与
Apps Script は、コードのスキャンに基づいて、認可スコープ(Google スプレッドシート ファイルや Gmail へのアクセスなど)を自動的に決定します。コメント化されたコードでも、認可リクエストを生成できます。スクリプトに承認が必要な場合、実行時にここに示すいずれかの承認ダイアログが表示されます。
コードの変更によって新しいサービスが追加された場合も、以前に承認したスクリプトで追加の承認が要求されます。スクリプト オーナーのユーザー ID で実行されるウェブアプリとしてスクリプトにアクセスする場合、スクリプトは承認をリクエストしないことがあります。
アクセス権の取り消し
スクリプトのデータへのアクセス権を取り消す手順は次のとおりです。
- Google アカウントの権限のページにアクセスします。(今後このページにアクセスするには、Google.com にアクセスし、画面の右上にあるアカウント写真をクリックします。次に、[マイ アカウント]、[ログインとセキュリティ] の [接続済みのアプリとサイト]、[アプリを管理] の順にクリックします)。
- 承認を取り消すスクリプトの名前をクリックし、右側の [削除]、表示されたダイアログで [OK] の順にクリックします。
スクリプトの権限とタイプ
スクリプトを実行するユーザー ID(つまりアクセスできるデータ)は、次の表に示すように、スクリプトが実行されるシナリオによって異なります。
スクリプトの種類 | スクリプトの実行者 |
---|---|
スタンドアロン、アドオン、 ドキュメント、スプレッドシート、スライド、フォームにバインドされた | キーボードを操作しているユーザー |
スプレッドシートのカスタム関数 | 匿名ユーザー: ただし、割り当て上限は、キーボードでのユーザーに対するカウント |
ウェブアプリまたはGoogle サイト ガジェット | キーボードまたはスクリプトのオーナーのユーザー(アプリのデプロイ時に選択したオプションによって異なる) |
インストール可能なトリガー | トリガーを作成したユーザー |
スプレッドシート、ドキュメント、スライド、フォームの手動承認スコープ
スプレッドシート サービス、ドキュメント サービス、スライド サービス、フォーム サービスを使用するアドオンやその他のスクリプトを作成している場合は、ユーザーのすべてのスプレッドシート、ドキュメント、フォームではなく、アドオンまたはスクリプトが使用されているファイルへのアクセスのみを許可するように、承認ダイアログを強制的に表示できます。これを行うには、ファイルレベルのコメントに次の JsDoc アノテーションを含めます。
/**
* @OnlyCurrentDoc
*/
反対のアノテーション @NotOnlyCurrentDoc
は、スクリプトに @OnlyCurrentDoc
を宣言するライブラリが含まれているが、マスター スクリプトで実際には現在のファイル以外のファイルへのアクセスが必要な場合に使用できます。
アドオンの承認ライフサイクル
Google スプレッドシート、ドキュメント、スライド、フォームのアドオンは、通常、ドキュメントにバインドされたスクリプトと同じ認可モデルに従います。ただし、特定の状況では、onOpen(e)
関数と onEdit(e)
関数が認証なしモードで実行されるため、状況が複雑になります。詳しくは、アドオンの承認ライフサイクルに関するガイドをご覧ください。
OAuth アプリケーションのユーザー数の上限
OAuth を使用して Google ユーザーデータにアクセスするアプリ(Apps Script プロジェクトなど)には、承認の上限が適用されます。詳細については、OAuth アプリケーション ユーザーの上限をご覧ください。