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

ドライブの UI または Google Drive API を使用して、Google ドライブのファイルやフォルダを他のユーザーと共有できます。ドライブから共有する際は、ファイルの編集、コメント、ファイルの閲覧のみを許可するかどうかを指定できます。

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

リンクで共有されているドライブ ファイルは、type=user または type=grouppermissions リソースの結果としてファイルにアクセスできるユーザーのみが検出できます。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