目录

HistoryVersions:list

功能介绍

列举文件历史记录。

场景描述

您的应用可以通过HistoryVersions.list接口获取到文件历史记录列表。

使用约束

接口原型

承载协议

HTTP GET

接口方向

开发者服务器->华为云空间服务器

接口URL

https://driveapis.cloud.huawei.com.cn/drive/v1/files/{fileId}/historyVersions

数据格式

请求消息:Content-Type: application/json

响应消息:Content-Type: application/json

路径参数

参数

是否必选

参数类型

描述

fileId

是

string

文件ID。

查询参数

参数

是否必选

参数类型

描述

pageSize

否

integer

每页返回的个数,默认是100,可接受值1-100。注意在到达最后的列表之前,实际有可能返回部分或者空结果。

cursor

否

string

当前页游标,由前一个响应的nextCursor获取。

fields

是

string

采用[Partial-response格式],具体使用见公共说明。

form

否

string

媒体格式。

prettyPrint

否

boolean

是否以美观格式输出。

quotaId

否

string

用户标识,小于40个字符。用于限制单个用户的API访问数量。

callback

否

string

JSONP的callback函数。

请求参数

Request Header

参数

是否必选

参数类型

描述

Authorization

是

string

用户鉴权信息 AccessToken(即AT)

x-hw-trace-id

否

string

业务跟踪id。

x-hw-app-id

否

string

应用的appid。

version

否

string

SDK版本。

x-hw-terminal

否

string

终端型号。

x-hw-os

否

string

终端操作系统类型。

unionID

否

string

用户的unionID。

User-Agent

否

string

应用版本号/appid。

x-hw-deviceUUID

否

string

设备UUID。

x-hw-deviceUDID

否

string

设备UDID。

x-hw-appPackageName

否

string

应用包名。

x-hw-network

否

string

网络类型,[WiFi, 2G, 3G, 4G, 5G, wire]。

Request Body

无

请求示例

GET 
https://driveapis.cloud.huawei.com.cn/drive/v1/files/BjYqWC-dH6-gcN6p5zxhI4I7Z1wtrR-po/historyVersions?fields=* HTTP/1.1
Accept: application/json
Authorization: Bearer
CgB6e3x9Bjh6m9tm8OB0GXjeMWk0m4pVnLmwteDNWXOKPhh0/tjwtIy6Q+OscvD7zhdrElYD0Rak6xA7dI4BM3GSQTuUgFK6ZwFk7K/fjJS5vB7JFmV3
Cache-Control: no-cache

响应参数

状态码为200时:

参数

参数类型

描述

category

string

类型,固定为drive#permissionList。

nextCursor

string

下一页游标,为空表示最后一页。

historyVersions[]

list

历史记录列表。

historyVersions.category

string

类型,固定为drive#historyVersion。

historyVersions.id

string

历史记录ID。

historyVersions.mimeType

string

文件类型。

historyVersions.editedTime

string

修改时间。

historyVersions.keepPermanent

boolean

是否永久保存。

historyVersions.lastEditor.category

string

类型,固定为drive#user。

historyVersions.lastEditor.displayName

string

用户显示名。

historyVersions.lastEditor.profilePhotoLink

string

用户头像链接(默认不返回)。

historyVersions.lastEditor.me

boolean

是否是我。

historyVersions.lastEditor.permissionId

string

权限id。

historyVersions.lastEditor.userAccount

string

帐号名称(默认不返回)。

historyVersions.originalFilename

string

用于创建此修订版的原始文件名。此参数为初次创建文件实体时的文件名,只支持读取涉及文件实体的更新后的元数据,仅对文件元数据更新获取不到。

historyVersions.size

integer

文件大小。

historyVersions.sha256

string

文件的sha256。

响应示例

HTTP/1.1 200 OK 
{
   "historyVersions": [
      {
   "editedTime": "2020-05-15T06:21:11Z",
   "size": 1,
   "sha256": "4dcdc56b396adb1b68ad3257f2f9679f0b289ff003bbf3251bc7c8956c731849",
   "lastEditor": {
  "permissionId": "239606675785384320",
  "displayName": "*******3121@**3.com",
  "me": true,
  "category": "drive#user"
     },
   "id": "362821313154268928.362821313154268929",
   "mimeType": "text/plain",
   "category": "drive#historyVersion",
   "keepPermanent": false
      }
     ],
    "category": "drive#historyVersionList"
}

常见错误码

错误码后4位为业务错误码,用于区分错误场景,其他业务错误码见状态码章节。

状态码

错误码

响应代码

描述

200

NA

  

成功。

400

21004002

PARAM_INVALID

输入参数错误,请检查参数列表。

403

21074033

AGREEMENT_NOT_SIGNED

用户还未签署华为云空间用户协议。

403

21084031

DATA_MIGRATING

正处于安全策略更新, 请等待安全策略更新完成。

403

21084038

OUTER_SERVICE_ERROR

外部服务错误。

403

21094038

OUTER_SERVICE_ERROR

外部服务错误。

404

21084041

CONTENT_NOT_FOUND

内容未发现。

500

21085002

OUTER_SERVICE_UNAVAILABLE

外部服务不可用。

调用示例

	public static void main(String[] args) throws IOException {
        // 设置请求地址,文件ID,权限ID和用户认证令牌
        String url = "https://driveapis.cloud.huawei.com.cn/drive/v1/files";
        String fileId = "AB0tr6O8DTQAguUs3yPFt3wQ5SDfLg04A";//Your own fileId
        String access_token = "CV5T547SEXpRlyuxqvz+PnRCtnVu784+OEIXmXAafKC+ifA3eJRnM0Ttsv20bJCkrcA+FNi4bU4nKcbERpQxlkMLQ6/Xt1iEQJYrFMyamnnI9JUV+jz4cQ==";
        // 列举文件历史信息
        JSONObject historyVersionsInfo = historyVersionsList(url, access_token, fileId);
        System.out.println(historyVersionsInfo.toJSONString());
    }

    private static JSONObject historyVersionsList(String url, String access_token, String fileId) throws IOException {
        StringBuilder stringBuilder = new StringBuilder("");
        stringBuilder.append("/").append(fileId).append("/").append("historyVersions");
        stringBuilder.append("?").append("fields=*");
        HttpGet httpGet = new HttpGet(url + stringBuilder);
        httpGet.setHeader("Authorization","Bearer " + access_token);
        CloseableHttpResponse response = HttpClientUtil.getClient().execute(httpGet);

        try {
            HttpEntity responseEntity = response.getEntity();
            String ret = responseEntity != null ? EntityUtils.toString(responseEntity) : null;
            JSONObject jsonObject = (JSONObject) JSON.parse(ret);
            EntityUtils.consume(responseEntity);
            return jsonObject;
        }finally {
            response.close();
        }
    }