Drive and Photo Service (Developer Edition) はファイルの履歴バージョンをサポートしています。デフォルトのクライアントまたは API を通じてバージョンを管理できます。
基本概念
機能
-
マルチバージョンバックアップは、ファイルのすべてのバージョンを保存します。誤って上書きまたは変更された場合、任意のファイルを以前の状態に復元できます。
-
ファイルを編集または上書きすると、履歴バージョンが作成されます。履歴バージョンの一覧表示、表示、復元、削除、および説明の追加ができます。
-
保持期間を 1 日から 999 日まで設定するか、バージョンを無期限に保持できます。特定の期間内に作成されたバージョンを自動的にマージして、バージョンの乱立を減らします。
-
保持するバージョンの最大数を 1 から 999 まで設定できます。最大 50 バージョンを永続的な保持の対象としてマークし、保持期間やバージョン数の上限による削除から保護できます。
前提条件
-
[ドライブおよびフォトサービス (Developer Edition)] ドメインを作成済みである必要があります。
-
この機能は、スーパー管理者またはドライブ管理者のみが有効にできます。
履歴バージョンの有効化
-
BasicUI にログインし、[管理コンソール]に移動します。
-
左側メニューで、 を選択します。
-
[Historical Version] スイッチをオンにします。

履歴バージョンの設定
[Historical Version] の右側にある Edit をクリックして設定を変更します。
|
パラメーター |
説明 |
|
[ファイルの履歴バージョンをマージ] |
デフォルトで有効になっています。10 分以内 (オンライン編集、ファイル同期) に複数回保存された場合、1 つの履歴バージョンにマージされます。無効にすると、保存するたびに新しい履歴バージョンが作成されます。 |
|
[バージョン数上限] |
|
|
[保持期間] |
|
API 呼び出しフローと例
新しいバージョンの生成
ファイルを最初にアップロードした時点では、バージョンは 1 つだけです。ファイルを上書きすると、新しいバージョンが作成されます。
ファイルを上書きするには、file_id をターゲットファイルの ID に設定して CreateFile 操作を呼び出します。残りのアップロードプロセスは、「ファイルアップロード」で説明されている内容と同じです。
履歴バージョンの一覧表示
ListRevision 操作を呼び出して、ファイルのバージョン一覧をページ分割して取得します。バージョンは逆時系列順で返されます。
リクエストの例:
{
"drive_id":"testDriveId",
"file_id": "testFileId"
}
レスポンスの例:
{
"items": [{
"domain_id": "testDomainId",
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"revision_name": "history_version.xlsx",
"file_extension": "xlsx",
"size": 8493,
"revision_version": 2,
"keep_forever": false,
"revision_description": "",
"revision_create_reason": "overwrite",
"content_hash_name": "sha1",
"content_hash": "xxxxxx",
"crc64_hash": "xxxxxx",
"created_at": "2022-09-05T04:00:09.017Z",
"updated_at": "2022-09-05T04:00:09.017Z",
"creator_type": "User",
"creator_id": "testCreatorId",
"is_latest_version": true
}],
"next_marker": ""
}
フィールドの説明:
-
drive_id:個人用スペースまたはエンタープライズドライブの ID。 -
file_id:ファイルの ID。フォルダー ID は指定できません。 -
next_marker:ページネーショントークン。次のリクエストでこの値をmarkerパラメーターとして渡します。空の値は最後のページを示します。 -
revision_version:バージョン番号。数値が小さいほど古いバージョンを示します。 -
revision_create_reason:バージョンが作成された理由。有効な値:-
"" (空文字列):ファイルが作成された。
-
"overwrite":ファイルが上書きされた。
-
"restore_rev":履歴バージョンが復元された。
-
-
is_latest_version:これがファイルの最新バージョンであるかどうかを示します。 -
revision_name:バージョンの名前。最新バージョンはファイルの名前を共有します。履歴バージョンの名前は作成時に固定されます。
バージョン詳細の取得
GetRevision 操作を呼び出して、単一バージョンの詳細を取得します。ListRevision のレスポンスとは異なり、GetRevision のレスポンスにはダウンロード URL が含まれます。
リクエストの例:
{
"drive_id":"testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId"
}
レスポンスの例:
{
"domain_id": "testDomainId",
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"revision_name": "history_version.xlsx",
"file_extension": "xlsx",
"size": 8493,
"revision_version": 2,
"keep_forever": false,
"revision_description": "",
"revision_create_reason": "overwrite",
"content_hash_name": "sha1",
"content_hash": "xxxxxx",
"crc64_hash": "xxxxxx",
"created_at": "2022-09-05T04:00:09.017Z",
"updated_at": "2022-09-05T04:00:09.017Z",
"creator_type": "User",
"creator_id": "testCreatorId",
"is_latest_version": true,
"download_url": "testDownloadUrl"
}
バージョンプロパティの更新
UpdateRevision 操作を呼び出して、バージョンのプロパティを更新します。
バージョンの永続的な保持の指定
-
最大 50 バージョンを永続的な保持の対象としてマークできます。永続的な保持の対象としてマークされたバージョンは、保持期間やバージョン数の上限を超えても削除されません。
-
永続的な保持が設定されたバージョンを削除するには、DeleteRevision 操作を呼び出します。
-
ファイルを完全に削除すると、永続的な保持が設定されたバージョンを含め、そのすべてのバージョンも削除されます。
リクエストの例:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"keep_forever": true
}
永続的な保持のキャンセル
リクエストの例:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"keep_forever": false
}
バージョン説明の設定
リクエストの例:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId",
"revision_description": "this is a revision"
}
履歴バージョンの復元
-
この操作を使用してファイルの最新バージョンを復元することはできません。
-
履歴バージョンを復元すると、それに基づいて新しいバージョンが作成されます。元の履歴バージョンは変更されません。復元を実行したユーザーが新しいバージョンの作成者になります。ストレージを解放するには、DeleteRevision 操作を呼び出します。
RestoreRevision 操作を呼び出して履歴バージョンを復元し、それをファイルの最新バージョンにします。
リクエストの例:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId"
}
履歴バージョンの削除
この操作を使用してファイルの最新バージョンを削除することはできません。
DeleteRevision 操作を呼び出して履歴バージョンを削除し、それが占有していたストレージ容量を解放します。
リクエストの例:
{
"drive_id": "testDriveId",
"file_id": "testFileId",
"revision_id": "testRevisionId"
}
