-
-
Notifications
You must be signed in to change notification settings - Fork 72
/
Copy pathapi_drive_comment_get_batch.go
143 lines (124 loc) · 8.95 KB
/
api_drive_comment_get_batch.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// Code generated by lark_sdk_gen. DO NOT EDIT.
/**
* Copyright 2022 chyroc
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package lark
import (
"context"
)
// BatchGetDriveComment 该接口用于根据评论 ID 列表批量获取云文档评论信息, 包括评论和回复 ID、回复的内容、评论人和回复人的用户 ID 等。支持返回全局评论以及局部评论(可通过 is_whole 字段区分)。
//
// doc: https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/drive-v1/file-comment/batch_query
// new doc: https://open.feishu.cn/document/server-docs/docs/CommentAPI/batch_query
func (r *DriveService) BatchGetDriveComment(ctx context.Context, request *BatchGetDriveCommentReq, options ...MethodOptionFunc) (*BatchGetDriveCommentResp, *Response, error) {
if r.cli.mock.mockDriveBatchGetDriveComment != nil {
r.cli.Log(ctx, LogLevelDebug, "[lark] Drive#BatchGetDriveComment mock enable")
return r.cli.mock.mockDriveBatchGetDriveComment(ctx, request, options...)
}
req := &RawRequestReq{
Scope: "Drive",
API: "BatchGetDriveComment",
Method: "POST",
URL: r.cli.openBaseURL + "/open-apis/drive/v1/files/:file_token/comments/batch_query",
Body: request,
MethodOption: newMethodOption(options),
NeedTenantAccessToken: true,
NeedUserAccessToken: true,
}
resp := new(batchGetDriveCommentResp)
response, err := r.cli.RawRequest(ctx, req, resp)
return resp.Data, response, err
}
// MockDriveBatchGetDriveComment mock DriveBatchGetDriveComment method
func (r *Mock) MockDriveBatchGetDriveComment(f func(ctx context.Context, request *BatchGetDriveCommentReq, options ...MethodOptionFunc) (*BatchGetDriveCommentResp, *Response, error)) {
r.mockDriveBatchGetDriveComment = f
}
// UnMockDriveBatchGetDriveComment un-mock DriveBatchGetDriveComment method
func (r *Mock) UnMockDriveBatchGetDriveComment() {
r.mockDriveBatchGetDriveComment = nil
}
// BatchGetDriveCommentReq ...
type BatchGetDriveCommentReq struct {
FileToken string `path:"file_token" json:"-"` // 文档 Token, 示例值: "doxbcdl03Vsxhm7Qmnj110abcef"
FileType FileType `query:"file_type" json:"-"` // 文档类型, 示例值: docx, 可选值有: doc: 文档类型, sheet: 电子表格类型, file: 文件类型, docx: 新版文档类型
UserIDType *IDType `query:"user_id_type" json:"-"` // 用户 ID 类型, 示例值: open_id, 可选值有: open_id: 标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多: 如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid), union_id: 标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的, 在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID, 应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多: 如何获取 Union ID?](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id), user_id: 标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内, 一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多: 如何获取 User ID?](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id), 默认值: `open_id`, 当值为 `user_id`, 字段权限要求: 获取用户 user ID
CommentIDs []string `json:"comment_ids,omitempty"` // 需要获取数据的评论 ID, 可通过调用获取云文档所有评论接口获取 comment_id, 示例值: ["1654857036541812356"]
}
// BatchGetDriveCommentResp ...
type BatchGetDriveCommentResp struct {
Items []*BatchGetDriveCommentRespItem `json:"items,omitempty"` // 评论的相关信息、回复的信息、回复分页的信息
}
// BatchGetDriveCommentRespItem ...
type BatchGetDriveCommentRespItem struct {
CommentID string `json:"comment_id,omitempty"` // 评论 ID
UserID string `json:"user_id,omitempty"` // 用户 ID
CreateTime int64 `json:"create_time,omitempty"` // 创建时间
UpdateTime int64 `json:"update_time,omitempty"` // 更新时间
IsSolved bool `json:"is_solved,omitempty"` // 是否已解决
SolvedTime int64 `json:"solved_time,omitempty"` // 解决评论时间
SolverUserID string `json:"solver_user_id,omitempty"` // 解决评论者的用户 ID
HasMore bool `json:"has_more,omitempty"` // 是否有更多回复
PageToken string `json:"page_token,omitempty"` // 回复分页标记
IsWhole bool `json:"is_whole,omitempty"` // 是否是全文评论
Quote string `json:"quote,omitempty"` // 局部评论的引用字段
ReplyList *BatchGetDriveCommentRespItemReplyList `json:"reply_list,omitempty"` // 评论里的回复列表
}
// BatchGetDriveCommentRespItemReplyList ...
type BatchGetDriveCommentRespItemReplyList struct {
Replies []*BatchGetDriveCommentRespItemReplyListReply `json:"replies,omitempty"` // 回复列表
}
// BatchGetDriveCommentRespItemReplyListReply ...
type BatchGetDriveCommentRespItemReplyListReply struct {
Content *BatchGetDriveCommentRespItemReplyListReplyContent `json:"content,omitempty"` // 回复内容
ReplyID string `json:"reply_id,omitempty"` // 回复 ID
UserID string `json:"user_id,omitempty"` // 用户 ID
CreateTime int64 `json:"create_time,omitempty"` // 创建时间
UpdateTime int64 `json:"update_time,omitempty"` // 更新时间
Extra *BatchGetDriveCommentRespItemReplyListReplyExtra `json:"extra,omitempty"` // 回复的其他内容, 图片 Token 等
}
// BatchGetDriveCommentRespItemReplyListReplyContent ...
type BatchGetDriveCommentRespItemReplyListReplyContent struct {
Elements []*BatchGetDriveCommentRespItemReplyListReplyContentElement `json:"elements,omitempty"` // 回复的内容
}
// BatchGetDriveCommentRespItemReplyListReplyContentElement ...
type BatchGetDriveCommentRespItemReplyListReplyContentElement struct {
Type string `json:"type,omitempty"` // 回复的内容元素, 可选值有: text_run: 普通文本, docs_link: at 云文档链接, person: at 联系人
TextRun *BatchGetDriveCommentRespItemReplyListReplyContentElementTextRun `json:"text_run,omitempty"` // 文本内容
DocsLink *BatchGetDriveCommentRespItemReplyListReplyContentElementDocsLink `json:"docs_link,omitempty"` // 添加云文档链接
Person *BatchGetDriveCommentRespItemReplyListReplyContentElementPerson `json:"person,omitempty"` // 添加用户的 user_id
}
// BatchGetDriveCommentRespItemReplyListReplyContentElementDocsLink ...
type BatchGetDriveCommentRespItemReplyListReplyContentElementDocsLink struct {
URL string `json:"url,omitempty"` // 回复 at 云文档
}
// BatchGetDriveCommentRespItemReplyListReplyContentElementPerson ...
type BatchGetDriveCommentRespItemReplyListReplyContentElementPerson struct {
UserID string `json:"user_id,omitempty"` // 添加用户的 user_id 以@用户
}
// BatchGetDriveCommentRespItemReplyListReplyContentElementTextRun ...
type BatchGetDriveCommentRespItemReplyListReplyContentElementTextRun struct {
Text string `json:"text,omitempty"` // 回复 普通文本
}
// BatchGetDriveCommentRespItemReplyListReplyExtra ...
type BatchGetDriveCommentRespItemReplyListReplyExtra struct {
ImageList []string `json:"image_list,omitempty"` // 评论中的图片 Token list
}
// batchGetDriveCommentResp ...
type batchGetDriveCommentResp struct {
Code int64 `json:"code,omitempty"` // 错误码, 非 0 表示失败
Msg string `json:"msg,omitempty"` // 错误描述
Data *BatchGetDriveCommentResp `json:"data,omitempty"`
Error *ErrorDetail `json:"error,omitempty"`
}