Google Drive API のスコープを選択する

このドキュメントでは、Google Drive API 固有の認可と認証情報について説明します。このドキュメントを読む前に、認証と認可の詳細で Google Workspace の一般的な認証と認可の情報を必ずお読みください。

認可用に OAuth 2.0 を構成する

OAuth 同意画面を構成し、スコープを選択して、ユーザーとアプリの審査担当者に表示する情報を定義し、後で公開できるようにアプリを登録します。

Drive API のスコープ

アプリに付与されるアクセスレベルを定義するには、認可スコープを特定して宣言する必要があります。認可スコープは、Google Workspace アプリ名、アクセスするデータの種類、アクセスレベルを含む OAuth 2.0 URI 文字列です。スコープとは、アプリが Google Workspace データ(ユーザーの Google アカウント データなど)を操作するためのリクエストです。

アプリのインストール時に、ユーザーはアプリで使用するスコープを検証するように求められます。通常は、できる限り狭い範囲にフォーカスしたスコープを選択し、アプリで不要なスコープをリクエストしないようにします。ユーザーは、明確に記述された制限付きのスコープへのアクセス権を簡単に付与できます。

可能であれば、機密性の低いスコープを使用することをおすすめします。このスコープは、ファイルごとのアクセス スコープを付与し、アプリが必要とする特定の機能へのアクセスを絞り込むためです。

Drive API は、次のスコープをサポートしています。

スコープコード 説明 使用量
https://www.googleapis.com/auth/drive.appdata
https://www.googleapis.com/auth/drive.appfolder
Google ドライブにあるアプリ独自の設定データを表示して管理します。 推奨
非機密
https://www.googleapis.com/auth/drive.install [アプリで開く] または [新規] メニューにオプションとしてアプリを表示することを許可します。 推奨
非機密
https://www.googleapis.com/auth/drive.file アプリで開いたファイル、または Google Picker API またはアプリのファイル選択ツールの使用中にユーザーがアプリと共有する新しいドライブ ファイルを作成する、または既存のファイルを変更する。 推奨
非機密
https://www.googleapis.com/auth/drive.apps.readonly ドライブへのアクセスが許可されているアプリを表示します。 デリケートなコンテンツ
https://www.googleapis.com/auth/drive ドライブ内のすべてのファイルを表示、管理できます。 制限されています
https://www.googleapis.com/auth/drive.readonly ドライブのすべてのファイルを表示、ダウンロードする。 制限されています
https://www.googleapis.com/auth/drive.activity ドライブ内のファイルのアクティビティ履歴を確認、追加する。 制限されています
https://www.googleapis.com/auth/drive.activity.readonly ドライブ内のファイルのアクティビティ履歴を確認する。 制限されています
https://www.googleapis.com/auth/drive.meet.readonly Google Meet で作成または編集されたドライブのファイルを表示する。 制限されています
https://www.googleapis.com/auth/drive.metadata ドライブ内のファイルのメタデータを表示、管理します。 制限されています
https://www.googleapis.com/auth/drive.metadata.readonly ドライブ内のファイルのメタデータを表示します。 制限されています
https://www.googleapis.com/auth/drive.scripts Google Apps Script スクリプトの動作を変更します。 制限されています

上の表の使用状況の列は、次の定義に従って各スコープの機密性を示しています。

  • 推奨 / 機密でない: これらのスコープは、認可アクセスの最小スコープを提供し、基本的なアプリ検証のみを必要とします。この要件については、検証の要件をご覧ください。

  • 推奨 / 機密: これらのスコープは、アプリについてユーザーによって承認された特定の Google ユーザーデータへのアクセスを提供します。追加のアプリ検証を行う必要があります。この要件については、機密スコープと制限付きスコープの要件をご覧ください。

  • 制限付き: これらのスコープは Google ユーザーデータへの幅広いアクセスを提供し、制限付きスコープの検証プロセスを実行する必要があります。この要件については、Google API サービスのユーザーデータ ポリシー特定の API スコープに関する追加要件をご覧ください。制限付きのスコープのデータをサーバーに保存する(または転送する)場合は、セキュリティ評価を受ける必要があります。

アプリで他の Google API にアクセスする必要がある場合は、それらのスコープも追加できます。Google API スコープの詳細については、OAuth 2.0 を使用した Google API へのアクセスをご覧ください。

特定の OAuth 2.0 スコープについて詳しくは、Google API の OAuth 2.0 スコープをご覧ください。

OAuth の確認

特定の OAuth スコープを使用するには、アプリで OAuth App Verification ヘルプセンターの手順を実行しなければならない場合があります。アプリが検証を行うタイミングと、必要な検証の種類を判断するには、OAuth アプリに関するよくある質問をご覧ください。Google ドライブの利用規約もご覧ください。

制限付きスコープを使用する場合

ドライブの場合、制限付きスコープにアクセスできるのは、次の種類のアプリケーションのみです。

  1. ユーザーのドライブ ファイルのローカル同期や自動バックアップを行うプラットフォーム固有のウェブアプリやウェブアプリ。
  2. ユーザー インターフェースでドライブ ファイル(またはそのメタデータや権限)を操作する可能性がある生産性アプリケーションや教育アプリケーション。生産性向上アプリケーションには、タスク管理、メモ作成、ワークグループ コミュニケーション、教室でのコラボレーション アプリケーションなどがあります。
  3. ユーザーまたは顧客に対してファイルの共有方法やアクセス方法に関する分析情報を提供するレポートおよびセキュリティ アプリケーション。

制限付きスコープを引き続き使用するには、制限付きスコープの検証に向けてアプリを準備する必要があります。

制限付きのスコープから既存のアプリを移行する

制限付きスコープを使用してドライブ アプリを開発した場合は、機密でないスコープを使用するようにアプリを移行することをおすすめします。これにより、ファイルごとのアクセス スコープが付与され、アプリが必要とする特定の機能へのアクセスが絞り込まれます。多くのアプリは、変更なしでファイルごとのアクセスで動作します。独自のファイル選択ツールを使用している場合は、さまざまなスコープを完全にサポートしている Google Picker API に切り替えることをおすすめします。

drive.file OAuth スコープのメリット

drive.file OAuth スコープと Google Picker API を使用すると、アプリのユーザー エクスペリエンスと安全性の両方を最適化できます。

drive.file OAuth スコープを使用すると、ユーザーはアプリと共有するファイルを選択できます。これにより、アプリによるファイルへのアクセスが制限され、安全性が高まります。これに対して、すべてのドライブのファイルに幅広くアクセスする必要があると、ユーザーはアプリを操作できなくなる可能性があります。drive.file スコープを使用する理由は次のとおりです。

  • ユーザビリティ: drive.file スコープは、すべての Drive API REST リソースと連携するため、より広範な OAuth スコープを使用する場合と同様に使用できます。

  • 機能: Google Picker API には、ドライブの UI と同様のインターフェースが用意されています。これには、ドライブ ファイルのプレビューとサムネイルを表示する複数のビューや、ユーザーがメインアプリから離れないようにインラインのモーダル ウィンドウが含まれます。

  • 便利: Google Picker ファイルでフィルタを使用する際、アプリで特定のドライブのファイル形式(Google ドキュメント、スプレッドシート、写真など)にフィルタを適用できます。

また、drive.file は機密でないので、検証プロセスを効率化できます。

更新トークンを保存する

更新トークンは、安全な長期保管に保管し、有効な間は使用し続けます。