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

ドライブの UI または Google Drive API を使用して、Google ドライブのファイルやフォルダを他のユーザーと共有できます。ドライブから共有する際は、ファイルの編集、ファイルへのコメント、ファイルの閲覧のみ、のいずれかの権限を共有相手に対して設定できます。

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

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

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

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

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

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

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