ファイルのリビジョンを管理する

このガイドでは、revisions リソースを使用して、ファイルの版の取得や Google Workspace の版の公開など、ファイルのリビジョンを管理する方法について説明します。Google Drive API を使用すると、リビジョンをダウンロードすることもできます。リビジョンの用語の詳細については、変更とリビジョンの概要をご覧ください。

変更履歴にアクセスするには、ユーザーに ownerorganizerfileOrganizer、または writerrole が必要です。

レスポンスで返すフィールドを指定するには、revisions リソースの任意のメソッドで fields システム パラメータを設定します。このパラメータを省略すると、サーバーはデフォルトのフィールド セットを返します。たとえば、revisions.list メソッドは idmimeTypekindmodifiedTime フィールドのみを返します。別のフィールドを返すには、特定のフィールドを返すをご覧ください。

自動削除から保存するリビジョンを指定する

Google ドライブでは、ユーザーが関心を持たなくなった古いリビジョンは自動的に削除されます。

blob ファイルのリビジョンを「永久保存」に設定すると、リビジョンが自動的に削除されなくなります。「永久に保存」に設定できるのは最大 200 個の版で、保存容量にカウントされます。ヘッド リビジョンが自動的に削除されることはありません。

ヘッド リビジョン以外の「この履歴を削除しない」に指定されていないすべての BLOB ファイル リビジョンは削除できます。通常、削除可能なリビジョンは 30 日間保持されますが、ファイルに「永久保存」に指定されていないリビジョンが 100 個あり、新しいリビジョンがアップロードされた場合は、それより早く削除されることがあります。

revisions リソースのブール値 keepForever フィールドを true に設定すると、ドライブで削除しないリビジョンをマークできます。BLOB ファイルのリビジョンが「Keep Forever」に設定されると、ダウンロードまたは削除のみが可能になります。詳細については、リビジョンをダウンロードするまたはリビジョンを削除するをご覧ください。

古い Drive API v2 を使用している場合は、keepForever の代わりに revisions リソースの pinned フィールドを使用します。

ファイル リビジョンを取得する

ファイル リビジョンのメタデータまたはコンテンツを取得するには、fileId パスパラメータと revisionId パスパラメータを使用して、revisions リソースで get メソッドを使用します。リビジョン ID がわからない場合は、list メソッドを使用してファイルのすべてのリビジョンを一覧表示できます。

このメソッドは、リビジョンのメタデータを revisions リソースのインスタンスとして返します。alt=media パラメータを指定すると、レスポンスの本文にリビジョンの内容が含まれます。blob ファイルをダウンロードするには、以前のバージョンの blob ファイル コンテンツをダウンロードするをご覧ください。

既知のマルウェアやその他の不正なファイルをダウンロードするリスクを認識するには、acknowledgeAbuse クエリ パラメータを true に設定します。このフィールドは、alt=media パラメータが設定されていて、ユーザーがファイルのオーナーであるか、ファイルが保存されている共有ドライブの管理者のいずれかである場合にのみ適用されます。

ファイルのリビジョンを一覧表示する

ファイルの変更履歴を一覧表示するには、fileId パスパラメータを指定して revisions リソースの list メソッドを使用します。このメソッドは、ファイル リビジョンのリストを返します。

次のクエリ パラメータを渡して、リビジョンのページネーションをカスタマイズするか、リビジョンをフィルタします。

  • pageSize: ページごとに返すリビジョンの最大数。

  • pageToken: 前回のリスト呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。

ファイル リビジョンを更新する

ファイルのリビジョンを更新するには、fileId パスパラメータと revisionId パスパラメータを使用して、revisions リソースの update メソッドを使用します。

このメソッドは revisions リソースのインスタンスを返します。

リビジョンをダウンロードする

「この履歴を削除しない」とマークされた blob ファイル コンテンツの改訂版のみをダウンロードできます。リビジョンをダウンロードする場合は、まず [この履歴を削除しない] に設定してください。詳細については、自動削除から保存するリビジョンを指定するをご覧ください。

BLOB ファイルのコンテンツ リビジョンをダウンロードする、または Google Workspace ドキュメントのコンテンツ リビジョンをエクスポートするには、ファイルをダウンロードしてエクスポートするをご覧ください。

ファイル リビジョンを削除する

ファイルの改訂版を完全に削除するには、fileIdrevisionId のパス パラメータを使用して、revisions リソースで delete メソッドを使用します。

削除できるのは、画像、動画、PDF など、バイナリ コンテンツを含む blob ファイルのリビジョンのみです。Blob ファイルのリビジョンは、「この履歴を削除しない」とマークされている場合に削除できます。Google ドキュメントやスプレッドシートなどの他のファイルの版と、バイナリ ファイルの最後の版は削除できません。

リビジョンを公開する

Google ドキュメント、Google スプレッドシート、Google スライドのリビジョンを公開するには、revisions リソースでそのファイルの published プロパティを設定します。このプロパティは、Drive API を使用して Google サイトのリビジョンに設定できません。

publishAuto プロパティが設定されていない限り、公開されたリビジョンにはファイルに加えられた変更が反映されません。プロパティが true に設定されている場合、ファイルの新しいリビジョンが自動的に公開され、以前のリビジョンが上書きされます。スライドと図形では自動再公開のみがサポートされており、publishAuto プロパティを true に設定する必要があります。Sites ファイルの場合、publishAuto は常に false です。

ファイルが Google Workspace ドメインで作成された場合、publishedOutsideDomain プロパティは、リビジョンに誰でもアクセスできるか、ドメインのユーザーに制限されているかを示します。サイトファイルの場合、このプロパティは type=anyone 権限が存在するかどうかを示します。詳細については、permissions リソースの type フィールドをご覧ください。

自動公開は、ドキュメントとスプレッドシートの UI にある [変更が加えられると自動的に再公開する] チェックボックスでも制御できます。詳しくは、Google ドキュメント、スプレッドシート、スライド、フォームを公開するをご覧ください。