智能客服
你问我答,随时在线为你解决问题
创建文件评论。
您的应用可以通过Comments.create接口创建文件评论。
| 承载协议 | HTTP POST |
|---|---|
| 接口方向 | 开发者服务器->华为云空间服务器 |
| 接口URL | https://driveapis.cloud.huawei.com.cn/drive/v1/files/{fileId}/comments |
| 数据格式 | 请求消息:Content-Type: application/json 响应消息:Content-Type: application/json |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| fileId | 是 | string | 文件ID。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| 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
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| description | 是 | string | 评论的内容。 |
| quotedContent.mimeType | 否 | string | 内容类型。 |
| quotedContent.content | 否 | string | 引用的内容。 |
| position | 否 | string | 位置,JSON格式,JSON按Anchor类型的定义校验。 |
- POST https://driveapis.cloud.huawei.com.cn/drive/v1/files/AADUyBNACuoBSKfx8gh50-ASp_fyGgrsA/comments?fields=*? HTTP/1.1
- Accept: application/json
- Cache-Control: no-cache
- Authorization: Bearer CF3NTYZSs7MRmxWyj8ssonQQxDgSPAjnDvrf+91NrpN22LdUrMA30A5Kzz0mf55sWao7e7VeLrmjQ0z2OmwPWlt3S00/L1BJppbTFhIgWb74ZBK8CFImUA==
状态码为200时:
| 参数 | 参数类型 | 描述 |
|---|---|---|
| category | string | 类型,固定为drive#comment。 |
| id | string | 评论id。 |
| createdTime | string | 评论创建时间。 |
| editedTime | string | 评论修改时间。 |
| creator.category | string | 类型,固定为drive#user。 |
| creator.displayName | string | 用户显示名。 |
| creator.profilePhotoLink | string | 用户头像链接(默认不返回)。 |
| creator.me | boolean | 是否是我。 |
| creator.permissionId | string | 权限id。 |
| creator.userAccount | string | 帐号名称(默认不返回)。 |
| description | string | 评论描述。 |
| htmlDescription | string | HTML评论描述。 |
| deleted | boolean | 评论是否已删除。 |
| resolved | boolean | 是否已解决。 |
| quotedContent.mimeType | string | 内容类型。 |
| quotedContent.content | string | 引用的内容。 |
| position | string | 位置。 |
| replies[] | list | 回复列表。 |
| replies.category | string | 类型,固定为drive#reply。 |
| replies.id | string | 回复id。 |
| replies.createdTime | string | 回复创建时间。 |
| replies.editedTime | string | 回复修改时间。 |
| replies.creator.category | string | 类型,固定为drive#user。 |
| replies.creator.displayName | string | 用户显示名。 |
| replies.creator.profilePhotoLink | string | 用户头像链接(默认不返回)。 |
| replies.creator.me | boolean | 是否是我。 |
| replies.creator.permissionId | string | 权限id。 |
| replies.creator.userAccount | string | 帐号名称(默认不返回)。 |
| replies.htmlDescription | string | html内容。 |
| replies.description | string | 内容。 |
| replies.deleted | boolean | 评论回复是否已删除。 |
| replies.operate | string | 操作。 |
- {
- "category": "drive#comment",
- "id": "string",
- "createdTime": "2020-02-19T14:44:40.660Z",
- "editedTime": "2020-02-19T14:44:40.661Z",
- "creator": {
- "category": "drive#user",
- "displayName": "string",
- "profilePhotoLink": "string",
- "me": true,
- "permissionId": "string",
- "userAccount": "string"
- },
- "description": "string",
- "htmlDescription": "string",
- "deleted": true,
- "resolved": true,
- "quotedContent": {
- "mimeType": "string",
- "content": "string"
- },
- "position": "string",
- "replies": [
- {
- "category": "drive#reply",
- "id": "string",
- "createdTime": "2020-02-19T14:44:40.661Z",
- "editedTime": "2020-02-19T14:44:40.661Z",
- "creator": {
- "category": "drive#user",
- "displayName": "string",
- "profilePhotoLink": "string",
- "me": true,
- "permissionId": "string",
- "userAccount": "string"
- },
- "htmlDescription": "string",
- "description": "string",
- "deleted": true,
- "operate": "string"
- }
- ]
- }
错误码后4位为业务错误码,用于区分错误场景,其他业务错误码见状态码章节。
| 状态码 | 错误码 | 响应代码 | 描述 |
|---|---|---|---|
| 200 | NA | - | 成功。 |
| 400 | 21004001 | LACK_OF_PARAM | 缺少入参,请检查参数列表。 |
| 400 | 21004002 | PARAM_INVALID | 参数校验失败,请检查参数列表。 |
| 403 | 21004032 | SERVICE_NOT_SUPPORT | 服务不支持。 |
| 403 | 21004035 | INSUFFICIENT_SCOPE | Scope校验失败。 |
| 403 | 21004036 | INSUFFICIENT_PERMISSION | 角色权限不足。 |
| 500 | 21005006 | SERVER_TEMP_ERROR | 服务器异常。 |
| 403 | 21074033 | AGREEMENT_NOT_SIGNED | 用户还未签署华为云空间用户协议,请签署协议后再进行重试。 |
| 403 | 21084031 | DATA_MIGRATING | 正处于安全策略更新, 请等待安全策略更新完成。 |
| 500 | 21085002 | OUTER_SERVICE_UNAVAILABLE | 外部服务不可用。 |
| 500 | 21085006 | SERVER_TEMP_ERROR | 服务器异常。 |
- public static void main(String[] args) throws IOException {
- // 设置请求地址,文件ID和用户认证令牌
- String url = "https://driveapis.cloud.huawei.com.cn/drive/v1/files/";
- String fileId = "AB0tr6O8DTQAguUs3yPFt3wQ5SDfLg04A";
- String access_token = "CV5T547SEXpRlyuxqvz+PnRCtnVu784+OEIXmXAafKC+ifA3eJRnM0Ttsv20bJCkrcA+FNi4bU4nKcbERpQxlkMLQ6/Xt1iEQJYrFMyamnnI9JUV+jz4cQ==";
- // 创建文件评论
- JSONObject commentInfo = commentCreateContent(url, access_token, fileId);
- System.out.println(commentInfo.toJSONString());
- }
-
- private static JSONObject commentCreateContent(String url, String access_token, String fileId) throws IOException {
- StringBuilder stringBuilder = new StringBuilder("");
- stringBuilder.append(fileId).append("/").append("comments");
- stringBuilder.append("?").append("fields=*");
- HttpPost httpPost = new HttpPost(url + stringBuilder);
- httpPost.setHeader("Authorization", "Bearer " + access_token);
- httpPost.setHeader("Content-Type", "application/x-www-form-urlencoded");
- httpPost.setHeader("Accept", "application/json");
-
- JSONObject jsonParam = new JSONObject();
- jsonParam.put("description", "2020/02/23 11:20");
- JSONObject jsonObject = new JSONObject();
- jsonObject.put("mimeType", "text/html");
- jsonObject.put("content", "2222");
- jsonParam.put("quotedContent", jsonObject);
-
- StringEntity entity = new StringEntity(jsonParam.toString());
- httpPost.setEntity(entity);
-
- CloseableHttpResponse response = HttpClientUtil.getClient().execute(httpPost);
-
- try {
- HttpEntity responseEntity = response.getEntity();
- String ret = responseEntity != null ? EntityUtils.toString(responseEntity) : null;
- JSONObject jsonObject1 = (JSONObject) JSON.parse(ret);
- EntityUtils.consume(responseEntity);
- return jsonObject1;
- } finally {
- response.close();
- }
- }