ファイルの版を管理する

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

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

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

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

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

blob ファイルのリビジョンは "Keep Forever" に設定できます。つまり、リビジョンは自動的に削除されません。最大 200 個のリビジョンを [この履歴を削除しない] に設定できますが、保存容量の上限にカウントされます。ヘッド リビジョンは自動的に削除されません。

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

`revisions` リソースのブール値 `keepForever` フィールドを `true` に設定すると、ドライブで削除しないリビジョンをマークできます。blob ファイルのリビジョンが [この履歴を削除しない] に設定されると、ダウンロードまたは削除のみが可能になります。詳しくは、 リビジョンをダウンロードするまたはリビジョンを 削除するをご覧ください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ファイルのリビジョンを完全に削除するには、 delete メソッドを revisions リソースで、fileIdrevisionId パス パラメータを指定して使用します。

削除できるのは、ドライブにバイナリ コンテンツ(画像、動画、PDF など)を含む blob ファイルのリビジョンのみです。blob ファイルのリビジョンは、[この履歴を削除しない] に設定されている場合に削除できます。 Google ドキュメントやスプレッドシートなどの他のファイルのリビジョンや、バイナリ ファイルの最後の残りのリビジョンは削除できません。

リビジョンを公開する

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

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

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

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