このガイドでは、revisions
リソースを使用して、ファイルの版の取得や Google Workspace の版の公開など、ファイルの版を管理する方法について説明します。Google Drive API を使用すると、リビジョンをダウンロードすることもできます。リビジョンの用語の詳細については、変更とリビジョンの概要をご覧ください。
変更履歴にアクセスするには、ユーザーに owner
、organizer
、fileOrganizer
、または writer
の role
が必要です。
レスポンスで返すフィールドを指定するには、revisions
リソースの任意のメソッドで fields
システム パラメータを設定します。パラメータを省略すると、サーバーはデフォルトのフィールド セットを返します。たとえば、revisions.list
メソッドは id
、mimeType
、kind
、modifiedTime
フィールドのみを返します。別のフィールドを返すには、特定のフィールドを返すをご覧ください。
自動削除から保存するリビジョンを指定する
Google ドライブでは、ユーザーが関心を持たなくなった古いリビジョンは自動的に削除されます。
blob ファイル リビジョンは「Keep Forever」に設定できます。つまり、リビジョンは自動的に削除されません。「永久に保存」に設定できる版は 200 個までで、保存容量にカウントされます。ヘッド リビジョンが自動的に削除されることはありません。
ヘッド リビジョン以外の「この履歴を削除しない」に指定されていないすべての BLOB ファイル リビジョンは削除できます。削除可能なリビジョンは通常 30 日間保持されますが、ファイルに「永久保存」に指定されていないリビジョンが 100 個あり、新しいリビジョンがアップロードされた場合は、それより早く削除されることがあります。
revisions
リソースのブール値 keepForever
フィールドを true
に設定して、ドライブで削除しないリビジョンをマークできます。BLOB ファイルのリビジョンが [Keep Forever] に設定されると、ダウンロードまたは削除のみが可能になります。詳細については、リビジョンをダウンロードするまたはリビジョンを削除するをご覧ください。
古い Drive API v2 を使用している場合は、keepForever
の代わりに revisions
リソースの pinned
フィールドを使用します。
ファイル リビジョンを取得する
ファイル リビジョンのメタデータまたはコンテンツを取得するには、revisions
リソースで get
メソッドを使用し、fileId
と revisionId
のパスパラメータを指定します。リビジョン ID がわからない場合は、list
メソッドを使用してファイルのすべてのリビジョンを一覧表示できます。
このメソッドは、リビジョンのメタデータを revisions
リソースのインスタンスとして返します。
既知のマルウェアやその他の不正なファイルのダウンロードのリスクを認識するには、acknowledgeAbuse
クエリ パラメータを true
に設定します。このフィールドは、alt=media
パラメータが設定されていて、ユーザーがファイルのオーナーであるか、ファイルが保存されている共有ドライブの管理者のいずれかである場合にのみ適用されます。
ファイルのリビジョンを一覧表示する
ファイルの変更履歴を一覧表示するには、fileId
パスパラメータを指定して revisions
リソースの list
メソッドを使用します。このメソッドは、ファイル リビジョンのリストを返します。
次のクエリ パラメータを渡して、リビジョンのページネーションをカスタマイズするか、リビジョンをフィルタします。
pageSize
: ページごとに返すリビジョンの最大数。pageToken
: 前回のリスト呼び出しから受け取ったページトークン。後続のページを取得するには、このトークンを指定します。
ファイル リビジョンを更新する
ファイルのリビジョンを更新するには、fileId
パスパラメータと revisionId
パスパラメータを使用して、revisions
リソースの update
メソッドを使用します。
このメソッドは revisions
リソースのインスタンスを返します。
リビジョンをダウンロードする
「この履歴を削除しない」とマークされた blob ファイル コンテンツの改訂版のみをダウンロードできます。リビジョンをダウンロードする場合は、まず [この履歴を削除しない] に設定してください。詳細については、自動削除から保存するリビジョンを指定するをご覧ください。
BLOB ファイルのコンテンツ リビジョンをダウンロードする、または Google Workspace ドキュメントのコンテンツ リビジョンをエクスポートするには、ファイルのダウンロードとエクスポートをご覧ください。
ファイル リビジョンを削除する
ファイルの改訂版を完全に削除するには、fileId
パス パラメータと revisionId
パス パラメータを使用して、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 ドキュメント、スプレッドシート、スライド、フォームを公開するをご覧ください。