リソースキーを使用してリンク共有ドライブのファイルにアクセスする

Google ドライブのファイルやフォルダを共有するには、 ドライブの UI または Google Drive API を使用します。ドライブから共有する場合は、共有相手の権限(ファイルの編集、コメント、閲覧のみ)を管理できます。

リソースキーは、意図しないアクセスからファイルを保護するために役立ちます。リソースキーは、ユーザーがリンクを使用して共有された特定のファイルにアクセスできるようにするために渡される追加のパラメータです。以前にファイルを閲覧したことがないユーザーは、リソースキーを入力してアクセスする必要があります。ファイルを最近表示したユーザーや、直接アクセス権を持つユーザーは、リソースキーがなくてもファイルにアクセスできます。

リンクで共有されたドライブ ファイルを検出できるのは、type=user または type=group permissions リソースの結果としてファイルにアクセスできるユーザーのみです。type=domain 権限または type=anyone 権限を使用して、これらのリンク共有ファイルへのアクセス権のみを持つユーザーからのリクエストには、リソースキーが必要になる場合があります。

権限について詳しくは、ファイル、フォルダ、ドライブを共有するをご覧ください。ロールとそれぞれで許可されるオペレーションの完全なリストについては、ロールと権限をご覧ください。

ファイルからリソースキーを読み取る

Drive API は、files リソースの読み取り専用の resourceKey フィールドでファイルのリソースキーを返します。

ファイルがドライブのショートカットの場合、ショートカット ターゲットのリソースキーが読み取り専用の shortcutDetails.targetResourceKey フィールドに返されます。

exportLinkswebContentLinkwebViewLink などの URL を返す files リソースのフィールドにも resourceKey が含まれます。ドライブの UI と統合するクライアントは、state パラメータ内で resourceKeys を使用することもできます。詳細については、ファイルのダウンロードとエクスポートをご覧ください。

リクエストにリソースキーを設定する

Drive API へのリクエストで参照されるファイルのリソースキーは、X-Goog-Drive-Resource-Keys HTTP ヘッダーで設定されます。

Drive API へのリクエストでは、X-Goog-Drive-Resource-Keys HTTP ヘッダーで 1 つ以上のリソースキーを指定できます。

構文

ファイル ID とリソースキーのペアは、スラッシュ(/)区切り文字を使用してヘッダーに設定されます。ヘッダーは、すべてのファイル ID とリソースキーのペアをカンマ(,)で区切って組み合わせることで作成されます。

たとえば、ファイル fileId1 をフォルダ fileId2 からフォルダ fileId3 に移動するリクエストについて考えてみましょう。この 3 つのファイルのリソースキーがそれぞれ resourceKey1resourceKey2resourceKey3 であるとします。スラッシュとカンマ区切り文字を使用してこれらの値から構築されたヘッダーは次のようになります。

    X-Goog-Drive-Resource-Keys: fileId1/resourceKey1,fileId2/resourceKey2,fileId3/resourceKey3