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

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

認可用に OAuth 2.0 を構成する

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

Drive API スコープ

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

アプリがインストールされると、アプリで使用されるスコープをユーザーが検証するよう求められます。通常は、できるだけ範囲の狭いスコープを選択し、アプリで必要のないスコープはリクエストしないようにします。ユーザーは、明確に説明された限定的なスコープに対してアクセス権限を付与する傾向があります。

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

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 アプリの確認に関するヘルプセンターの手順に沿って確認を受ける必要があります。OAuth アプリに関するよくある質問を参照して、アプリの確認が必要なタイミングと、必要な確認の種類をご確認ください。Google ドライブ利用規約もご覧ください。

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

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

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

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

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

制限付きスコープを使用して Drive アプリを開発している場合は、ファイルごとのアクセス スコープを付与し、アプリに必要な特定の機能へのアクセスを制限するため、機密性のないスコープを使用するようにアプリを移行することをおすすめします。多くのアプリは、変更なしでファイルごとのアクセスで動作します。独自のファイル選択ツールを使用している場合は、さまざまなスコープを完全にサポートする 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 は機密性が高いものではないため、確認プロセスを効率化できます。

更新トークンを保存する

更新トークンは安全な長期ストレージに保存し、有効である限り引き続き使用します。