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

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

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

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

権限の詳細については、ファイル、フォルダ、ドライブを共有するをご覧ください。ロールと各ロールで許可されるオペレーションの一覧については、ロールと権限をご覧ください。

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

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

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

URL を返す files リソースのフィールド(exportLinkswebContentLinkwebViewLink など)にも 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