ファイルの版を管理する

このガイドでは、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 リソースのインスタンスとして返します。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

削除できるのは、画像、動画、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 ドキュメント、 スプレッドシート、スライド、フォーム を公開するをご覧ください。