drive_v1.ts•83 kB
import { z } from 'zod';
export type driveV1ToolName =
| 'drive.v1.exportTask.create'
| 'drive.v1.exportTask.get'
| 'drive.v1.fileComment.batchQuery'
| 'drive.v1.fileComment.create'
| 'drive.v1.fileComment.get'
| 'drive.v1.fileComment.list'
| 'drive.v1.fileComment.patch'
| 'drive.v1.fileCommentReply.delete'
| 'drive.v1.fileCommentReply.list'
| 'drive.v1.fileCommentReply.update'
| 'drive.v1.file.copy'
| 'drive.v1.file.createFolder'
| 'drive.v1.file.createShortcut'
| 'drive.v1.file.delete'
| 'drive.v1.file.deleteSubscribe'
| 'drive.v1.file.getSubscribe'
| 'drive.v1.file.list'
| 'drive.v1.file.move'
| 'drive.v1.fileStatistics.get'
| 'drive.v1.file.subscribe'
| 'drive.v1.fileSubscription.create'
| 'drive.v1.fileSubscription.get'
| 'drive.v1.fileSubscription.patch'
| 'drive.v1.file.taskCheck'
| 'drive.v1.file.uploadFinish'
| 'drive.v1.file.uploadPrepare'
| 'drive.v1.fileVersion.create'
| 'drive.v1.fileVersion.delete'
| 'drive.v1.fileVersion.get'
| 'drive.v1.fileVersion.list'
| 'drive.v1.fileViewRecord.list'
| 'drive.v1.importTask.create'
| 'drive.v1.importTask.get'
| 'drive.v1.media.batchGetTmpDownloadUrl'
| 'drive.v1.media.uploadFinish'
| 'drive.v1.media.uploadPrepare'
| 'drive.v1.meta.batchQuery'
| 'drive.v1.permissionMember.auth'
| 'drive.v1.permissionMember.batchCreate'
| 'drive.v1.permissionMember.create'
| 'drive.v1.permissionMember.delete'
| 'drive.v1.permissionMember.list'
| 'drive.v1.permissionMember.transferOwner'
| 'drive.v1.permissionMember.update'
| 'drive.v1.permissionPublic.get'
| 'drive.v1.permissionPublicPassword.create'
| 'drive.v1.permissionPublicPassword.delete'
| 'drive.v1.permissionPublicPassword.update'
| 'drive.v1.permissionPublic.patch';
export const driveV1ExportTaskCreate = {
project: 'drive',
name: 'drive.v1.exportTask.create',
sdkName: 'drive.v1.exportTask.create',
path: '/open-apis/drive/v1/export_tasks',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云空间-文件-导出云文档-创建导出任务-该接口用于创建导出文件的任务,并返回导出任务 ID。导出文件指将飞书文档、电子表格、多维表格导出为本地文件,包括 Word、Excel、PDF、CSV 格式。该接口为异步接口,需要继续调用接口获取导出结果。了解完整的导出步骤,参考',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
file_extension: z
.enum(['docx', 'pdf', 'xlsx', 'csv'])
.describe(
'将云文档导出为本地文件后,本地文件的扩展名。了解各类云文档支持导出的文件格式,参考。 Options:docx(Microsoft Word 格式),pdf(PDF 格式),xlsx(Microsoft Excel 格式),csv(CSV 格式)',
),
token: z
.string()
.describe(
'要导出的云文档的 token。获取方式参考 ',
),
type: z
.enum(['doc', 'sheet', 'bitable', 'docx'])
.describe(
'要导出的云文档的类型 。可通过云文档的链接判断。 Options:doc(旧版飞书文档。支持导出扩展名为 docx 和 pdf 的文件。已不推荐使用。),sheet(飞书电子表格。支持导出扩展名为 xlsx 和 csv 的文件。),bitable(飞书多维表格。支持导出扩展名为 xlsx 和 csv 格式的文件。),docx(新版飞书文档。支持导出扩展名为 docx 和 pdf 格式的文件。)',
),
sub_id: z
.string()
.describe(
'导出飞书电子表格或多维表格为 CSV 文件时,需传入电子表格工作表的 ID 或多维表格数据表的 ID:- 电子表格可调用 接口获取返回的 `sheet_id` 的值作为该参数的值- 多维表格可调用接口获取返回的 `table_id` 的值作为该参数的值',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1ExportTaskGet = {
project: 'drive',
name: 'drive.v1.exportTask.get',
sdkName: 'drive.v1.exportTask.get',
path: '/open-apis/drive/v1/export_tasks/:ticket',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云空间-文件-导出云文档-查询导出任务结果-根据返回的导出任务 ID(ticket)轮询导出任务结果,并返回导出文件的 token。你可使用该 token 继续调用接口将导出的产物下载到本地。了解完整的导出文件步骤,参考',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
token: z
.string()
.describe(
'要导出的云文档的 token。获取方式参考。你可参考以下请求示例了解如何使用查询参数',
),
}),
path: z.object({
ticket: z
.string()
.describe(
'导出任务 ID。调用 获取',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentBatchQuery = {
project: 'drive',
name: 'drive.v1.fileComment.batchQuery',
sdkName: 'drive.v1.fileComment.batchQuery',
path: '/open-apis/drive/v1/files/:file_token/comments/batch_query',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-评论-批量获取评论-该接口用于根据评论 ID 列表批量获取云文档评论信息,包括评论和回复 ID、回复的内容、评论人和回复人的用户 ID 等。支持返回全局评论以及局部评论(可通过 is_whole 字段区分)',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
comment_ids: z
.array(z.string())
.describe('需要获取数据的评论 ID ,可通过调用获取云文档所有评论接口获取 comment_id'),
}),
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'file', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档类型,已不推荐使用),docx(新版文档类型),sheet(电子表格类型),file(文件类型),slides(幻灯片)',
),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({ file_token: z.string().describe('文档 Token').optional() }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentCreate = {
project: 'drive',
name: 'drive.v1.fileComment.create',
sdkName: 'drive.v1.fileComment.create',
path: '/open-apis/drive/v1/files/:file_token/comments',
httpMethod: 'POST',
description: '[Feishu/Lark]-云文档-评论-添加全文评论-在文档中添加一条全局评论,不支持局部评论',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
reply_list: z
.object({
replies: z
.array(
z.object({
content: z
.object({
elements: z
.array(
z.object({
type: z
.enum(['text_run', 'docs_link', 'person'])
.describe(
'回复内容的元素类型 Options:text_run(普通文本),docs_link(云文档链接),person(at 联系人)',
),
text_run: z
.object({ text: z.string().describe('添加普通文本') })
.describe('普通文本')
.optional(),
docs_link: z
.object({ url: z.string().describe('添加云文档链接') })
.describe('云文档链接')
.optional(),
person: z
.object({ user_id: z.string().describe('添加用户的 user_id 以@用户') })
.describe('at 联系人')
.optional(),
}),
)
.describe('回复内容的元素列表'),
})
.describe('回复内容'),
}),
)
.describe('回复列表'),
})
.describe('评论里的回复列表')
.optional(),
}),
params: z.object({
file_type: z.enum(['doc', 'docx']).describe('云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档)'),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({ file_token: z.string().describe('文档 Token可以通过浏览器该文档的 URL 栏上直接获取文档 Token') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentGet = {
project: 'drive',
name: 'drive.v1.fileComment.get',
sdkName: 'drive.v1.fileComment.get',
path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-云文档-评论-获取全文评论-获取云文档中的某条全文评论,不支持局部评论',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'sheet', 'file', 'docx'])
.describe('云文档类型 Options:doc(旧版文档,已不推荐使用),sheet(表格),file(文件),docx(新版文档)'),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({ file_token: z.string().describe('文档 Token'), comment_id: z.string().describe('评论 ID') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentList = {
project: 'drive',
name: 'drive.v1.fileComment.list',
sdkName: 'drive.v1.fileComment.list',
path: '/open-apis/drive/v1/files/:file_token/comments',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-评论-获取云文档所有评论-该接口用于根据云文档 Token 分页获取文档所有评论信息,包括评论和回复 ID、回复的内容、评论人和回复人的用户 ID 等。该接口支持返回全局评论以及局部评论(可通过 is_whole 字段区分)。默认每页返回 50 个评论',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'file', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档类型,已不推荐使用),docx(新版文档类型),sheet(电子表格类型),file(文件类型),slides(幻灯片)',
),
is_whole: z.boolean().describe('是否全文评论').optional(),
is_solved: z.boolean().describe('是否已解决(可选)').optional(),
page_token: z
.string()
.describe(
'分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果',
)
.optional(),
page_size: z.number().describe('分页大小,默认每页返回 50 个评论').optional(),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'云文档的 token。获取方式参考 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentPatch = {
project: 'drive',
name: 'drive.v1.fileComment.patch',
sdkName: 'drive.v1.fileComment.patch',
path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-云文档-评论-解决/恢复评论-解决或恢复云文档中的评论',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({ is_solved: z.boolean().describe('评论解决标志') }),
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'file', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档),sheet(表格),file(文件),slides(幻灯片)',
),
}),
path: z.object({ file_token: z.string().describe('文档token'), comment_id: z.string().describe('评论ID') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentReplyDelete = {
project: 'drive',
name: 'drive.v1.fileCommentReply.delete',
sdkName: 'drive.v1.fileCommentReply.delete',
path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id/replies/:reply_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-云文档-评论-删除回复-删除云文档中的某条回复',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'file', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档),sheet(表格),file(文件),slides(幻灯片)',
),
}),
path: z.object({
file_token: z.string().describe('文档 Token'),
comment_id: z.string().describe('评论 ID'),
reply_id: z.string().describe('回复 ID'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentReplyList = {
project: 'drive',
name: 'drive.v1.fileCommentReply.list',
sdkName: 'drive.v1.fileCommentReply.list',
path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id/replies',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-评论-获取回复信息-该接口用于根据评论 ID,获取该条评论对应的回复信息,包括回复 ID、回复内容、回复人的用户 ID 等',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
page_size: z.number().describe('分页大小').optional(),
page_token: z
.string()
.describe(
'分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果',
)
.optional(),
file_type: z
.enum(['doc', 'docx', 'sheet', 'file', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档类型),sheet(电子表格类型),file(文件夹类型),slides(幻灯片)',
),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({ file_token: z.string().describe('文档 Token'), comment_id: z.string().describe('评论 ID') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCommentReplyUpdate = {
project: 'drive',
name: 'drive.v1.fileCommentReply.update',
sdkName: 'drive.v1.fileCommentReply.update',
path: '/open-apis/drive/v1/files/:file_token/comments/:comment_id/replies/:reply_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-云文档-评论-更新回复的内容-更新云文档中的某条回复的内容',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
content: z
.object({
elements: z
.array(
z.object({
type: z
.enum(['text_run', 'docs_link', 'person'])
.describe('回复的内容元素 Options:text_run(普通文本),docs_link(at 云文档链接),person(at 联系人)'),
text_run: z
.object({ text: z.string().describe('回复 普通文本') })
.describe('文本内容')
.optional(),
docs_link: z
.object({ url: z.string().describe('回复 at 云文档') })
.describe('添加云文档链接')
.optional(),
person: z
.object({ user_id: z.string().describe('添加用户的 user_id 以@用户') })
.describe('添加用户的 user_id')
.optional(),
}),
)
.describe('回复的内容'),
})
.describe('回复内容'),
}),
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'file', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档,已不推荐使用),docx(新版文档),sheet(表格),file(文件),slides(幻灯片)',
),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({
file_token: z.string().describe('文档 Token'),
comment_id: z.string().describe('评论 ID'),
reply_id: z.string().describe('回复 ID'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCopy = {
project: 'drive',
name: 'drive.v1.file.copy',
sdkName: 'drive.v1.file.copy',
path: '/open-apis/drive/v1/files/:file_token/copy',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-云空间-文件-复制文件-该接口用于将用户云空间中的文件复制至其它文件夹下。不支持复制文件夹。该接口为异步接口',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
name: z.string().describe('复制的新文件的名称**数据校验规则**:最大长度为 `256` 字节'),
type: z
.enum(['file', 'doc', 'sheet', 'bitable', 'docx', 'mindnote', 'slides'])
.describe(
'被复制的源文件的类型。该参数为必填,请忽略左侧必填列的“否”。若该参数值为空或与实际文件类型不匹配,接口将返回失败。 Options:file(文件类型),doc(文档类型),sheet(电子表格类型),bitable(多维表格类型),docx(新版文档类型),mindnote(思维笔记类型),slides(幻灯片类型)',
)
.optional(),
folder_token: z
.string()
.describe(
'目标文件夹的 token。若传入根文件夹 token,表示复制的新文件将被创建在云空间根目录。了解如何获取文件夹 token,参考',
),
extra: z
.array(
z.object({ key: z.string().describe('自定义属性键对象'), value: z.string().describe('自定义属性值对象') }),
)
.describe('自定义请求附加参数,用于实现特殊的复制语义')
.optional(),
}),
params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }),
path: z.object({
file_token: z
.string()
.describe(
'被复制的源文件的 token。了解如何获取文件 token,参考',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCreateFolder = {
project: 'drive',
name: 'drive.v1.file.createFolder',
sdkName: 'drive.v1.file.createFolder',
path: '/open-apis/drive/v1/files/create_folder',
httpMethod: 'POST',
description: '[Feishu/Lark]-云文档-云空间-文件夹-新建文件夹-该接口用于在用户云空间指定文件夹中创建一个空文件夹',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
name: z.string().describe('文件夹名称**长度限制**: 1~256 个字节'),
folder_token: z
.string()
.describe(
'父文件夹的 token。参数为空字符串时,表示在根目录下创建文件夹。你可参考获取某个文件夹的 token。了解更多,参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileCreateShortcut = {
project: 'drive',
name: 'drive.v1.file.createShortcut',
sdkName: 'drive.v1.file.createShortcut',
path: '/open-apis/drive/v1/files/create_shortcut',
httpMethod: 'POST',
description: '[Feishu/Lark]-云文档-云空间-文件-创建文件快捷方式-创建指定文件的快捷方式到云空间的其它文件夹中',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
parent_token: z
.string()
.describe(
'目标父文件夹的 token,获取方式见',
),
refer_entity: z
.object({
refer_token: z
.string()
.describe(
'源文件的 token。获取方式见',
),
refer_type: z
.enum(['file', 'docx', 'bitable', 'doc', 'sheet', 'mindnote', 'slides'])
.describe(
'源文件的类型 Options:file(文件),docx(新版文档),bitable(多维表格),doc(旧版文档),sheet(电子表格),mindnote(思维笔记),slides(幻灯片类型)',
),
})
.describe('源文件的信息'),
}),
params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileDelete = {
project: 'drive',
name: 'drive.v1.file.delete',
sdkName: 'drive.v1.file.delete',
path: '/open-apis/drive/v1/files/:file_token',
httpMethod: 'DELETE',
description:
'[Feishu/Lark]-云文档-云空间-文件-删除文件或文件夹-删除用户在云空间内的文件或者文件夹。文件或文件夹被删除后,会进入回收站中',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['file', 'docx', 'bitable', 'folder', 'doc', 'sheet', 'mindnote', 'shortcut', 'slides'])
.describe(
'被删除文件的类型 Options:file(文件类型),docx(新版文档类型),bitable(多维表格类型),folder(文件夹类型),doc(文档类型),sheet(电子表格类型),mindnote(思维笔记类型),shortcut(快捷方式类型),slides(幻灯片)',
),
}),
path: z.object({
file_token: z
.string()
.describe(
'需要删除的文件或文件夹 token。了解如何获取文件 token,参考。了解如何获取文件夹 token,参考',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileDeleteSubscribe = {
project: 'drive',
name: 'drive.v1.file.deleteSubscribe',
sdkName: 'drive.v1.file.deleteSubscribe',
path: '/open-apis/drive/v1/files/:file_token/delete_subscribe',
httpMethod: 'DELETE',
description:
'[Feishu/Lark]-云文档-云空间-事件-取消云文档事件订阅-该接口用于取消订阅云文档的通知事件。了解事件订阅的配置流程和使用场景,参考。了解云文档支持的事件类型,参考',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'bitable', 'file', 'folder', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档。已不推荐使用),docx(新版文档),sheet(电子表格),bitable(多维表格),file(文件),folder(文件夹),slides(幻灯片)',
),
event_type: z
.string()
.describe('事件类型,`file_type` 为 `folder`(文件夹)时必填 `file.created_in_folder_v1`')
.optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'云文档的 token。了解如何获取各类云文档的token,参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileGetSubscribe = {
project: 'drive',
name: 'drive.v1.file.getSubscribe',
sdkName: 'drive.v1.file.getSubscribe',
path: '/open-apis/drive/v1/files/:file_token/get_subscribe',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-事件-查询云文档事件订阅状态-该接口用于查询云文档事件的订阅状态。了解事件订阅的配置流程和使用场景,参考。了解云文档支持的事件类型,参考',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'bitable', 'file', 'folder', 'slides'])
.describe(
'文档类型 Options:doc(旧版文档。已不推荐使用),docx(新版文档),sheet(电子表格),bitable(多维表格),file(文件),folder(文件夹),slides(幻灯片)',
),
event_type: z
.string()
.describe('事件类型,`file_type` 为 `folder `(文件夹)时必填 `file.created_in_folder_v1`')
.optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'云文档的 token。了解如何获取各类云文档的 token,参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileList = {
project: 'drive',
name: 'drive.v1.file.list',
sdkName: 'drive.v1.file.list',
path: '/open-apis/drive/v1/files',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-文件夹-获取文件夹中的文件清单-该接口用于获取用户云空间指定文件夹中文件信息清单。文件的信息包括名称、类型、token、创建时间、所有者 ID 等',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
page_size: z.number().describe('指定每页显示的数据项的数量。若获取根目录下的清单,将返回全部数据').optional(),
page_token: z
.string()
.describe(
'分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果',
)
.optional(),
folder_token: z
.string()
.describe(
'文件夹的 token。不填写或填空字符串,将获取用户云空间根目录下的清单,且不支持分页。了解如何获取文件夹 token,参考',
)
.optional(),
order_by: z
.enum(['EditedTime', 'CreatedTime'])
.describe('定义清单中文件的排序方式 Options:EditedTime(按编辑时间排序),CreatedTime(按创建时间排序)')
.optional(),
direction: z
.enum(['ASC', 'DESC'])
.describe('定义清单中文件的排序规则 Options:ASC(按升序排序),DESC(按降序排序)')
.optional(),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileMove = {
project: 'drive',
name: 'drive.v1.file.move',
sdkName: 'drive.v1.file.move',
path: '/open-apis/drive/v1/files/:file_token/move',
httpMethod: 'POST',
description: '[Feishu/Lark]-云文档-云空间-文件-移动文件或文件夹-将文件或者文件夹移动到用户云空间的其他位置',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
type: z
.enum(['file', 'docx', 'bitable', 'doc', 'sheet', 'mindnote', 'folder', 'slides'])
.describe(
'文件类型。该参数为必填,请忽略左侧必填列的“否”。如果该值为空或者与文件实际类型不匹配,接口会返回失败。 Options:file(普通文件类型),docx(新版文档类型),bitable(多维表格类型),doc(文档类型),sheet(电子表格类型),mindnote(思维笔记类型),folder(文件夹类型),slides(幻灯片类型)',
)
.optional(),
folder_token: z
.string()
.describe(
'目标文件夹的 token。了解如何获取文件夹 token,参考',
)
.optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'需要移动的文件或文件夹 token。了解如何获取文件 token,参考。了解如何获取文件夹 token,参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileStatisticsGet = {
project: 'drive',
name: 'drive.v1.fileStatistics.get',
sdkName: 'drive.v1.fileStatistics.get',
path: '/open-apis/drive/v1/files/:file_token/statistics',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-文件-获取文件统计信息-此接口用于获取各类文件的流量统计信息和互动信息,包括阅读人数、阅读次数和点赞数',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'sheet', 'mindnote', 'bitable', 'wiki', 'file', 'docx'])
.describe(
'文件类型 Options:doc(旧版文档),sheet(电子表格),mindnote(思维笔记),bitable(多维表格),wiki(知识库文档),file(文件),docx(新版文档)',
),
}),
path: z.object({
file_token: z
.string()
.describe(
'文件 token。了解如何获取文件 token,参考',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileSubscribe = {
project: 'drive',
name: 'drive.v1.file.subscribe',
sdkName: 'drive.v1.file.subscribe',
path: '/open-apis/drive/v1/files/:file_token/subscribe',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-云空间-事件-订阅云文档事件-该接口用于订阅云文档的各类通知事件。了解事件订阅的配置流程和使用场景,参考。了解云文档支持的事件类型,参考',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_type: z
.enum(['doc', 'docx', 'sheet', 'bitable', 'file', 'folder', 'slides'])
.describe(
'云文档类型 Options:doc(旧版文档。已不推荐使用),docx(新版文档),sheet(电子表格),bitable(多维表格),file(文件),folder(文件夹),slides(幻灯片)',
),
event_type: z
.string()
.describe('事件类型,`file_type` 为 `folder `(文件夹)时必填 `file.created_in_folder_v1`')
.optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'云文档的 token。了解如何获取各类云文档的 token,参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileSubscriptionCreate = {
project: 'drive',
name: 'drive.v1.fileSubscription.create',
sdkName: 'drive.v1.fileSubscription.create',
path: '/open-apis/drive/v1/files/:file_token/subscriptions',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-云文档助手-订阅-创建订阅-订阅文档中的变更事件,当前支持文档评论订阅,订阅后文档评论更新会有“云文档助手”推送给订阅的用户',
accessTokens: ['user'],
schema: {
data: z.object({
subscription_id: z.string().describe('订阅关系ID').optional(),
subscription_type: z.literal('comment_update').describe('订阅类型 Options:comment_update(评论更新)'),
is_subcribe: z.boolean().describe('是否订阅').optional(),
file_type: z.enum(['doc', 'docx', 'wiki']).describe('文档类型 Options:doc(文档),docx(新版文档),wiki(知识库wiki)'),
}),
path: z.object({ file_token: z.string().describe('文档token') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileSubscriptionGet = {
project: 'drive',
name: 'drive.v1.fileSubscription.get',
sdkName: 'drive.v1.fileSubscription.get',
path: '/open-apis/drive/v1/files/:file_token/subscriptions/:subscription_id',
httpMethod: 'GET',
description: '[Feishu/Lark]-云文档-云文档助手-订阅-获取订阅状态-根据订阅ID获取该订阅的状态',
accessTokens: ['user'],
schema: {
data: z.object({
file_type: z
.enum(['doc', 'docx', 'wiki'])
.describe('文档类型 Options:doc(Docs 旧版文档),docx(Upgraded Docs 新版文档),wiki(云空间)'),
}),
path: z.object({
file_token: z.string().describe('文档token').optional(),
subscription_id: z.string().describe('订阅关系ID').optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileSubscriptionPatch = {
project: 'drive',
name: 'drive.v1.fileSubscription.patch',
sdkName: 'drive.v1.fileSubscription.patch',
path: '/open-apis/drive/v1/files/:file_token/subscriptions/:subscription_id',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-云文档-云文档助手-订阅-更新订阅状态-根据订阅ID更新订阅状态',
accessTokens: ['user'],
schema: {
data: z.object({
is_subscribe: z.boolean().describe('是否订阅'),
file_type: z.enum(['doc', 'docx', 'wiki']).describe('文档类型 Options:doc(文档),docx(新版文档),wiki(知识库wiki)'),
}),
path: z.object({
file_token: z.string().describe('文档token').optional(),
subscription_id: z.string().describe('订阅关系ID').optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileTaskCheck = {
project: 'drive',
name: 'drive.v1.file.taskCheck',
sdkName: 'drive.v1.file.taskCheck',
path: '/open-apis/drive/v1/files/task_check',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-文件夹-查询异步任务状态-查询异步任务的状态信息。目前支持查询删除文件夹和移动文件夹的异步任务',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
task_id: z
.string()
.describe(
'异步任务的 ID。目前支持查询删除文件夹和移动文件夹的异步任务。可通过调用或获取任务 ID',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileUploadFinish = {
project: 'drive',
name: 'drive.v1.file.uploadFinish',
sdkName: 'drive.v1.file.uploadFinish',
path: '/open-apis/drive/v1/files/upload_finish',
httpMethod: 'POST',
description:
'[Feishu/Lark]-文件-上传文件-分片上传文件-分片上传文件-完成上传-调用接口将分片全部上传完毕后,你需调用本接口触发完成上传。否则将上传失败。了解完整的上传文件流程,参考',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
upload_id: z
.string()
.describe(
'分片上传事务 ID。通过调用接口获取',
),
block_num: z
.number()
.describe(
'分片的数量。通过调用接口获取',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileUploadPrepare = {
project: 'drive',
name: 'drive.v1.file.uploadPrepare',
sdkName: 'drive.v1.file.uploadPrepare',
path: '/open-apis/drive/v1/files/upload_prepare',
httpMethod: 'POST',
description:
'[Feishu/Lark]-文件-上传文件-分片上传文件-分片上传文件-预上传-发送初始化请求,以获取上传事务 ID 和分片策略,为做准备。平台固定以 4MB 的大小对文件进行分片。了解完整的上传文件流程,参考',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
file_name: z.string().describe('文件的名称'),
parent_type: z
.literal('explorer')
.describe('上传点的类型。取固定值 explorer,表示将文件上传至云空间中。 Options:explorer(云空间)'),
parent_node: z
.string()
.describe(
'云空间中文件夹的 token。了解如何获取文件夹 token,参考',
),
size: z.number().describe('文件的大小,单位为字节'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileVersionCreate = {
project: 'drive',
name: 'drive.v1.fileVersion.create',
sdkName: 'drive.v1.fileVersion.create',
path: '/open-apis/drive/v1/files/:file_token/versions',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-云空间-文档版本-创建文档版本-创建文档版本。文档支持在线文档或电子表格。该接口为异步接口',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
name: z
.string()
.describe(
'创建的版本文档的标题。最大长度 1024 个 Unicode 码点。通常情况下,一个英文或中文字符对应一个码点,但是某些特殊符号可能会对应多个码点。例如,家庭组合「👨👩👧」这个表情符号对应 5 个码点。**注意**:该参数必填,请忽略左侧必填列显示的“否”',
)
.optional(),
obj_type: z
.enum(['docx', 'sheet'])
.describe(
'源文档的类型**注意**:该参数必填,请忽略左侧必填列显示的“否”。 Options:docx(新版文档),sheet(电子表格)',
)
.optional(),
}),
params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }),
path: z.object({
file_token: z
.string()
.describe(
'源文档的 token,获取方式参考 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileVersionDelete = {
project: 'drive',
name: 'drive.v1.fileVersion.delete',
sdkName: 'drive.v1.fileVersion.delete',
path: '/open-apis/drive/v1/files/:file_token/versions/:version_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-云文档-云空间-文档版本-删除文档版本-删除基于在线文档或电子表格创建的版本',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
obj_type: z.enum(['docx', 'sheet']).describe('源文档的类型 Options:docx(新版文档),sheet(电子表格)'),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'当前版本对应的源文档的 token。获取方式参考',
),
version_id: z.string().describe('版本文档版本标识'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileVersionGet = {
project: 'drive',
name: 'drive.v1.fileVersion.get',
sdkName: 'drive.v1.fileVersion.get',
path: '/open-apis/drive/v1/files/:file_token/versions/:version_id',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-文档版本-获取文档版本信息-该接口用于获取文档或电子表格指定版本的信息,包括标题、标识、创建者、创建时间等',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
obj_type: z.enum(['docx', 'sheet']).describe('源文档的类型 Options:docx(新版文档),sheet(电子表格)'),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'源文档的 token。获取方式参考 ',
),
version_id: z.string().describe('版本文档的版本标识'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileVersionList = {
project: 'drive',
name: 'drive.v1.fileVersion.list',
sdkName: 'drive.v1.fileVersion.list',
path: '/open-apis/drive/v1/files/:file_token/versions',
httpMethod: 'GET',
description: '[Feishu/Lark]-云文档-云空间-文档版本-获取文档版本列表-获取文档或电子表格的版本列表',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
page_size: z.number().describe('分页大小'),
page_token: z
.string()
.describe(
'分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果',
)
.optional(),
obj_type: z.enum(['docx', 'sheet']).describe('源文档的类型 Options:docx(新版文档),sheet(电子表格)'),
user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'源文档的 token。获取方式参考 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1FileViewRecordList = {
project: 'drive',
name: 'drive.v1.fileViewRecord.list',
sdkName: 'drive.v1.fileViewRecord.list',
path: '/open-apis/drive/v1/files/:file_token/view_records',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-文件-获取文件访问记录-获取文档、电子表格、多维表格等文件的历史访问记录,包括访问者的 ID、姓名、头像和最近访问时间',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
page_size: z.number().describe('分页大小'),
page_token: z
.string()
.describe(
'分页标记,第一次请求不填,表示从头开始遍历;分页查询结果还有更多项时会同时返回新的 page_token,下次遍历可采用该 page_token 获取查询结果',
)
.optional(),
file_type: z
.enum(['doc', 'docx', 'sheet', 'bitable', 'mindnote', 'wiki', 'file'])
.describe(
'文件类型 Options:doc(旧版文档),docx(新版文档),sheet(电子表格),bitable(多维表格),mindnote(思维笔记),wiki(知识库文档),file(文件)',
),
viewer_id_type: z
.enum(['user_id', 'union_id', 'open_id'])
.describe(
'返回的访问者 ID 的类型。**当值为`user_id`时,字段权限要求**:<md-perm name="contact:user.employee_id:readonly" desc="获取用户 user ID" support_app_types="custom" tags="">获取用户 user ID</md-perm> Options:user_id(标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内,一个用户的 User ID 在所有应用(包括商店应用)中都保持一致。User ID 主要用于在不同的应用间打通用户数据。),union_id(标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。),open_id(标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。)',
)
.optional(),
}),
path: z.object({
file_token: z
.string()
.describe(
'文件 token。获取方式参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1ImportTaskCreate = {
project: 'drive',
name: 'drive.v1.importTask.create',
sdkName: 'drive.v1.importTask.create',
path: '/open-apis/drive/v1/import_tasks',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云空间-文件-导入文件-创建导入任务-该接口用于创建导入文件的任务,并返回导入任务 ID。导入文件指将本地文件如 Word、TXT、Markdown、Excel 等格式的文件导入为某种格式的飞书在线云文档。该接口为异步接口,需要继续调用接口获取导入结果。了解完整的导入文件步骤,参考',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
file_extension: z
.string()
.describe(
'要导入的文件的扩展名。了解支持的文件格式,参考。**注意**:此处填写的文件扩展名需与实际文件的后缀名保持严格一致。请注意区分后缀为 “markdown”、“md”、“mark” 的 Markdown 文件,并在填写相关参数时保持后缀名一致。否则将返回 1069910 错误码',
),
file_token: z
.string()
.describe(
'要导入文件的 token。创建任务前,你需先调用或接口获取源文件的 token。了解更多,参考',
),
type: z
.string()
.describe(
'目标云文档格式。不同文件支持的云文档格式不同。详情参考。可选值如下所示:- `docx`:新版文档- `sheet`:电子表格- `bitable`:多维表格',
),
file_name: z.string().describe('导入后的在线云文档名称。参数为空时,使用上传本地文件时的文件名').optional(),
point: z
.object({
mount_type: z
.number()
.describe('挂载类型。取固定值 1,表示将该云文档挂载至云空间下。 Options:1(Space 挂载到云空间)'),
mount_key: z
.string()
.describe(
'云文档挂载的文件夹的 token,即云空间下文件夹的 token。空表示云空间根目录。了解如何获取文件夹 token,参考',
),
})
.describe('挂载点(导入后的云文档所在位置)'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1ImportTaskGet = {
project: 'drive',
name: 'drive.v1.importTask.get',
sdkName: 'drive.v1.importTask.get',
path: '/open-apis/drive/v1/import_tasks/:ticket',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云空间-文件-导入文件-查询导入任务结果-根据返回的导入任务 ID(ticket)轮询导入结果。了解完整的导入文件步骤,参考',
accessTokens: ['tenant', 'user'],
schema: {
path: z.object({
ticket: z
.string()
.describe(
'导入任务 ID。调用 获取',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1MediaBatchGetTmpDownloadUrl = {
project: 'drive',
name: 'drive.v1.media.batchGetTmpDownloadUrl',
sdkName: 'drive.v1.media.batchGetTmpDownloadUrl',
path: '/open-apis/drive/v1/medias/batch_get_tmp_download_url',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-云空间-素材-获取素材临时下载链接-该接口用于获取云文档中素材的临时下载链接。链接的有效期为 24 小时,过期失效',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
file_tokens: z
.array(z.string())
.describe(
'素材文件的 token。获取方式如下所示:* 新版文档:通过接口获取指定文件块(File Block)或图片块(Image Block)的 token,即为素材 token。* 电子表格:通过接口获取指定附件的 `fileToken`,即为素材的 token。* 多维表格:通过接口获取指定附件的 `file_token`,即为素材的 token。如需一次获取多个素材的下载链接,可多次传递本参数及素材的 token 值,格式如下:`https://{url}?file_tokens={token1}&file_tokens={token2}`其中:- `file_tokens` 是参数名,可以多次传递- `token1` 和 `token2` 为素材的实际 token 值- 一次最多可传递 5 个素材的 token,但在 API 调试台仅支持传一个 token',
),
extra: z
.string()
.describe(
'拓展信息,如拥有高级权限的多维表格在下载素材时,需要添加额外的扩展信息作为 URL 查询参数鉴权。详情参考。未正确填写该参数的接口将返回 403 的 HTTP 状态码',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1MediaUploadFinish = {
project: 'drive',
name: 'drive.v1.media.uploadFinish',
sdkName: 'drive.v1.media.uploadFinish',
path: '/open-apis/drive/v1/medias/upload_finish',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云空间-素材-上传素材-分片上传素材-完成上传-调用接口将分片全部上传完毕后,你需调用本接口触发完成上传。了解完整的分片上传素材流程,参考',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
upload_id: z
.string()
.describe(
'分片上传事务 ID。通过调用接口获取',
),
block_num: z
.number()
.describe(
'分片数量。通过调用接口获取',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1MediaUploadPrepare = {
project: 'drive',
name: 'drive.v1.media.uploadPrepare',
sdkName: 'drive.v1.media.uploadPrepare',
path: '/open-apis/drive/v1/medias/upload_prepare',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云空间-素材-上传素材-分片上传素材-预上传-发送初始化请求,以获取上传事务 ID 和分片策略,为做准备。平台固定以 4MB 的大小对素材进行分片。了解完整的分片上传素材流程,参考',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
file_name: z.string().describe('素材的文件名称'),
parent_type: z
.enum([
'doc_image',
'docx_image',
'sheet_image',
'doc_file',
'docx_file',
'sheet_file',
'vc_virtual_background',
'bitable_image',
'bitable_file',
'moments',
'ccm_import_open',
])
.describe(
'上传点的类型。你可根据上传的文件类型与云文档类型确定上传点类型。例如,要将一张图片插入到新版文档(文件类型为 `docx`)中,需指定上传点为 `docx_image`;要将一个附件上传到新版文档中,需指定上传点为 `docx_file`。 Options:doc_image(旧版文档图片),docx_image(新版文档图片),sheet_image(电子表格图片),doc_file(文档文件),docx_file(新版文档文件),sheet_file(电子表格文件),vc_virtual_background(vc 虚拟背景(灰度中,暂未开放)),bitable_image(多维表格图片),bitable_file(多维表格文件),moments(同事圈(灰度中,暂未开放)),ccm_import_open(云文档导入文件)',
),
parent_node: z
.string()
.describe(
'上传点的 token,即要上传的云文档的 token,用于指定素材将要上传到的云文档或位置。参考 了解上传点类型与上传点 token 的对应关系',
),
size: z.number().describe('文件的大小,单位为字节'),
extra: z
.string()
.describe(
'以下场景的上传点需通过该参数传入素材所在云文档的 token。extra 参数的格式为`"{\\"drive_route_token\\":\\"素材所在云文档的 token\\"}"`。详情参考',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1MetaBatchQuery = {
project: 'drive',
name: 'drive.v1.meta.batchQuery',
sdkName: 'drive.v1.meta.batchQuery',
path: '/open-apis/drive/v1/metas/batch_query',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-云空间-文件-获取文件元数据-该接口用于根据文件 token 获取其元数据,包括标题、所有者、创建时间、密级、访问链接等数据',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
request_docs: z
.array(
z.object({
doc_token: z
.string()
.describe(
'文件的 token,获取方式见',
),
doc_type: z
.enum(['doc', 'sheet', 'bitable', 'mindnote', 'file', 'wiki', 'docx', 'folder', 'synced_block'])
.describe(
'文件的类型 Options:doc(飞书文档),sheet(飞书电子表格),bitable(飞书多维表格),mindnote(飞书思维笔记),file(飞书文件),wiki(飞书知识库),docx(飞书新版文档),folder(飞书文件夹),synced_block(SyncedBlock 文档同步块(灰度中))',
),
}),
)
.describe('请求的文件的 token 和类型。一次请求中不可超过 200 个'),
with_url: z.boolean().describe('是否获取文件的访问链接').optional(),
}),
params: z.object({ user_id_type: z.enum(['open_id', 'union_id', 'user_id']).describe('用户ID类型').optional() }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberAuth = {
project: 'drive',
name: 'drive.v1.permissionMember.auth',
sdkName: 'drive.v1.permissionMember.auth',
path: '/open-apis/drive/v1/permissions/:token/members/auth',
httpMethod: 'GET',
description:
'[Feishu/Lark]-云文档-权限-成员-判断当前用户是否有某权限-该接口用于根据 filetoken 判断当前登录用户是否具有某权限',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
action: z
.enum(['view', 'edit', 'share', 'comment', 'export', 'copy', 'print', 'manage_public'])
.describe(
'需要判断的权限 Options:view(阅读),edit(编辑),share(分享),comment(评论),export(导出),copy(拷贝),print(打印),manage_public(ManagePublic 管理权限设置)',
),
}),
path: z.object({ token: z.string().describe('文件的 token') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberBatchCreate = {
project: 'drive',
name: 'drive.v1.permissionMember.batchCreate',
sdkName: 'drive.v1.permissionMember.batchCreate',
path: '/open-apis/drive/v1/permissions/:token/members/batch_create',
httpMethod: 'POST',
description:
'[Feishu/Lark]-云文档-权限-成员-批量增加协作者权限-该接口可根据云文档 token 批量将用户添加为云文档的协作者',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
members: z
.array(
z.object({
member_type: z
.enum(['email', 'openid', 'unionid', 'openchat', 'opendepartmentid', 'userid', 'groupid', 'wikispaceid'])
.describe(
'协作者 ID 类型 Options:email(飞书邮箱),openid(open_id 开放平台 ID),unionid(union_id 开放平台 UnionID),openchat(open_chat 开放平台群组 ID),opendepartmentid(open_department_id 开放平台部门 ID。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效),userid(user_id 用户自定义 ID),groupid(group_id 自定义用户组 ID),wikispaceid(wiki_space_id 知识空间 ID。仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)',
),
member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'),
perm: z
.enum(['view', 'edit', 'full_access'])
.describe('协作者的权限角色 Options:view(可阅读角色),edit(可编辑角色),full_access(可管理角色)'),
perm_type: z
.enum(['container', 'single_page'])
.describe(
'协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)',
)
.optional(),
type: z
.enum([
'user',
'chat',
'department',
'group',
'wiki_space_member',
'wiki_space_viewer',
'wiki_space_editor',
])
.describe(
'协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员。在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员。仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员。仅在知识库启用了成员分组功能后才支持该参数)',
)
.optional(),
}),
)
.describe('本次要增加权限的协作者列表'),
}),
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'folder', 'mindnote', 'minutes', 'slides'])
.describe(
'云文档类型,需要与云文档的 token 相匹配。 Options:doc(旧版文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),folder(文件夹。使用 <md-tag mode="inline" type="token-tenant">tenant_access_token</md-tag> 调用时,需确保文件夹所有者为应用或应用拥有文件夹的可管理权限,你需要将应用作为群机器人添加至群内,然后授予该群组可管理权限。),mindnote(思维笔记),minutes(妙记。目前妙记还不支持 `full_access` 权限角色),slides(幻灯片)',
),
need_notification: z
.boolean()
.describe(
'添加权限后是否通知对方。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效',
)
.optional(),
}),
path: z.object({
token: z
.string()
.describe(
'云文档的 token,需要与 type 参数指定的云文档类型相匹配。可参考 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberCreate = {
project: 'drive',
name: 'drive.v1.permissionMember.create',
sdkName: 'drive.v1.permissionMember.create',
path: '/open-apis/drive/v1/permissions/:token/members',
httpMethod: 'POST',
description: '[Feishu/Lark]-云文档-权限-成员-增加协作者权限-该接口用于根据云文档的 token 给用户增加文档的权限',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
member_type: z
.enum(['email', 'openid', 'unionid', 'openchat', 'opendepartmentid', 'userid', 'groupid', 'wikispaceid'])
.describe(
'协作者 ID 类型,与协作者 ID 需要对应 Options:email(飞书邮箱),openid(open_id 应用或用户的 Open ID。 - 获取应用 OpenID,参考 - 获取用户 OpenID,参考),unionid(union_id 开放平台 UnionID),openchat(open_chat 开放平台群组 ID),opendepartmentid(open_department_id 开放平台部门 ID。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效),userid(user_id 用户自定义 ID),groupid(group_id 自定义用户组 ID),wikispaceid(wiki_space_id 知识空间 ID。仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)',
),
member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'),
perm: z
.enum(['view', 'edit', 'full_access'])
.describe(
'协作者对应的权限角色 **注意:** 妙记还不支持可管理角色 Options:view(可阅读角色),edit(可编辑角色),full_access(可管理角色)',
),
perm_type: z
.enum(['container', 'single_page'])
.describe(
'协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)',
)
.optional(),
type: z
.enum(['user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor'])
.describe(
'协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员。在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员。仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员。仅在知识库启用了成员分组功能后才支持该参数)',
)
.optional(),
}),
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'folder', 'mindnote', 'minutes', 'slides'])
.describe(
'云文档类型,需要与云文档的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),folder(文件夹。使用 <md-tag mode="inline" type="token-tenant">tenant_access_token</md-tag> 调用时,需确保文件夹所有者为应用或应用拥有文件夹的可管理权限,你需要将应用作为群机器人添加至群内,然后授予该群组可管理权限。),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
need_notification: z
.boolean()
.describe(
'添加权限后是否通知对方。仅当使用 <md-tag mode="inline" type="token-user">user_access_token</md-tag> 调用时有效',
)
.optional(),
}),
path: z.object({
token: z
.string()
.describe(
'云文档的 token,需要与 type 参数指定的云文档类型相匹配。可参考',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberDelete = {
project: 'drive',
name: 'drive.v1.permissionMember.delete',
sdkName: 'drive.v1.permissionMember.delete',
path: '/open-apis/drive/v1/permissions/:token/members/:member_id',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-云文档-权限-成员-移除协作者权限-该接口用于根据文件的 token 移除文档协作者的权限',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
type: z
.enum(['user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor'])
.describe(
'协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员 - **注意**:在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数)',
)
.optional(),
perm_type: z
.enum(['container', 'single_page'])
.describe(
'协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)',
)
.optional(),
}),
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'folder', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),folder(文件夹),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
member_type: z
.enum(['email', 'openid', 'openchat', 'opendepartmentid', 'userid', 'unionid', 'groupid', 'wikispaceid'])
.describe(
'协作者 ID 类型,与协作者 ID 需要对应 Options:email(邮箱地址),openid(开放平台 ID),openchat(OpenChatID 开放平台群组 ID),opendepartmentid(开放平台部门 ID),userid(用户自定义 ID),unionid(开放平台 UnionID),groupid(自定义用户组 ID),wikispaceid(知识空间 ID - **注意**:仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
),
member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberList = {
project: 'drive',
name: 'drive.v1.permissionMember.list',
sdkName: 'drive.v1.permissionMember.list',
path: '/open-apis/drive/v1/permissions/:token/members',
httpMethod: 'GET',
description: '[Feishu/Lark]-云文档-权限-成员-获取协作者列表-该接口用于根据文件的 token 查询协作者',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
fields: z
.string()
.describe(
'指定返回的协作者字段信息,如无指定则默认不返回**可选值有:** - `name`:协作者名- `type`:协作者类型- `avatar`:头像- `external_label`:外部标签**注意:** - 你可以使用特殊值`*`指定返回目前支持的所有字段- 你可以使用`,`分隔若干个你想指定返回的字段,如:`name,avatar`- 按需指定返回字段接口性能更好',
)
.optional(),
perm_type: z
.enum(['container', 'single_page'])
.describe(
'协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)',
)
.optional(),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberTransferOwner = {
project: 'drive',
name: 'drive.v1.permissionMember.transferOwner',
sdkName: 'drive.v1.permissionMember.transferOwner',
path: '/open-apis/drive/v1/permissions/:token/members/transfer_owner',
httpMethod: 'POST',
description: '[Feishu/Lark]-云文档-权限-成员-转移所有者-该接口用于根据云文档 token 和用户信息转移文件的所有者',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
member_type: z
.enum(['email', 'openid', 'userid'])
.describe(
'文件所有者的 ID 类型 Options:email(飞书邮箱),openid(open_id 开放平台ID),userid(user_id 用户自定义ID)',
),
member_id: z.string().describe('文件所有者的 ID,与文件所有者的 ID 类型需要对应'),
}),
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides', 'folder'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片),folder(文件夹)',
),
need_notification: z.boolean().describe('是否需要通知新的文件所有者').optional(),
remove_old_owner: z.boolean().describe('转移后是否需要移除原文件所有者的权限').optional(),
stay_put: z
.boolean()
.describe(
'仅当文件在个人文件夹下,此参数才会生效。如果设为`false`,系统会将该内容移至新所有者的空间下。如果设为`true`,则留在原位置',
)
.optional(),
old_owner_perm: z
.string()
.describe('仅当 remove_old_owner = false 时,此参数才会生效 保留原文件所有者指定的权限角色')
.optional(),
}),
path: z.object({ token: z.string().describe('文件的 token') }),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionMemberUpdate = {
project: 'drive',
name: 'drive.v1.permissionMember.update',
sdkName: 'drive.v1.permissionMember.update',
path: '/open-apis/drive/v1/permissions/:token/members/:member_id',
httpMethod: 'PUT',
description: '[Feishu/Lark]-云文档-权限-成员-更新协作者权限-该接口用于根据文件的 token 更新文档协作者的权限',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
member_type: z
.enum(['email', 'openid', 'unionid', 'openchat', 'opendepartmentid', 'userid', 'groupid', 'wikispaceid'])
.describe(
'协作者 ID 类型,与协作者 ID 需要对应 Options:email(飞书邮箱),openid(open_id 开放平台 ID),unionid(union_id 开放平台 UnionID),openchat(open_chat 开放平台群组 ID),opendepartmentid(open_department_id 开放平台部门 ID),userid(user_id 用户自定义 ID),groupid(group_id 自定义用户组 ID),wikispaceid(wiki_space_id 知识空间 ID - **注意**:仅知识库文档支持该参数,当需要操作知识库文档里的「知识库成员」类型协作者时传该参数)',
),
perm: z
.enum(['view', 'edit', 'full_access'])
.describe(
'协作者对应的权限角色 **注意:** 妙记还不支持可管理角色 Options:view(可阅读角色),edit(可编辑角色),full_access(可管理角色)',
),
perm_type: z
.enum(['container', 'single_page'])
.describe(
'协作者的权限角色类型 Options:container(当前页面及子页面),single_page(仅当前页面,当且仅当在知识库文档中该参数有效)',
)
.optional(),
type: z
.enum(['user', 'chat', 'department', 'group', 'wiki_space_member', 'wiki_space_viewer', 'wiki_space_editor'])
.describe(
'协作者类型**注意**:当 `member_type` 参数为 `wikispaceid` 时必须传该参数**默认值**:"" Options:user(用户),chat(群组),department(组织架构),group(用户组),wiki_space_member(知识库成员 - **注意**:在知识库启用了成员分组功能后不支持该参数),wiki_space_viewer(知识库可阅读成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数),wiki_space_editor(知识库可编辑成员 - **注意**:仅在知识库启用了成员分组功能后才支持该参数)',
)
.optional(),
}),
params: z.object({
need_notification: z
.boolean()
.describe('更新权限后是否通知对方**注意:** 使用`tenant_access_token`访问不支持该参数')
.optional(),
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
),
member_id: z.string().describe('协作者 ID,与协作者 ID 类型需要对应'),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionPublicGet = {
project: 'drive',
name: 'drive.v1.permissionPublic.get',
sdkName: 'drive.v1.permissionPublic.get',
path: '/open-apis/drive/v1/permissions/:token/public',
httpMethod: 'GET',
description: '[Feishu/Lark]-云文档-权限-设置 v1-获取云文档权限设置-该接口用于根据 filetoken 获取云文档的权限设置',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionPublicPasswordCreate = {
project: 'drive',
name: 'drive.v1.permissionPublicPassword.create',
sdkName: 'drive.v1.permissionPublicPassword.create',
path: '/open-apis/drive/v1/permissions/:token/public/password',
httpMethod: 'POST',
description: '[Feishu/Lark]-权限-设置 v1-密码-开启密码-该接口用于根据 filetoken 开启云文档的密码',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙计(暂不支持)),slides(幻灯片)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionPublicPasswordDelete = {
project: 'drive',
name: 'drive.v1.permissionPublicPassword.delete',
sdkName: 'drive.v1.permissionPublicPassword.delete',
path: '/open-apis/drive/v1/permissions/:token/public/password',
httpMethod: 'DELETE',
description: '[Feishu/Lark]-权限-设置 v1-密码-关闭密码-该接口用于根据 filetoken 关闭云文档的密码',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙计(暂不支持)),slides(幻灯片)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionPublicPasswordUpdate = {
project: 'drive',
name: 'drive.v1.permissionPublicPassword.update',
sdkName: 'drive.v1.permissionPublicPassword.update',
path: '/open-apis/drive/v1/permissions/:token/public/password',
httpMethod: 'PUT',
description: '[Feishu/Lark]-权限-设置 v1-密码-刷新密码-该接口用于根据 filetoken 刷新云文档的密码',
accessTokens: ['tenant', 'user'],
schema: {
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙计(暂不支持)),slides(幻灯片)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
)
.optional(),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1PermissionPublicPatch = {
project: 'drive',
name: 'drive.v1.permissionPublic.patch',
sdkName: 'drive.v1.permissionPublic.patch',
path: '/open-apis/drive/v1/permissions/:token/public',
httpMethod: 'PATCH',
description: '[Feishu/Lark]-云文档-权限-设置 v1-更新云文档权限设置-该接口用于根据 filetoken 更新云文档的权限设置',
accessTokens: ['tenant', 'user'],
schema: {
data: z.object({
external_access: z.boolean().describe('允许内容被分享到组织外').optional(),
security_entity: z
.enum(['anyone_can_view', 'anyone_can_edit', 'only_full_access'])
.describe(
'谁可以复制内容、创建副本、打印、下载 Options:anyone_can_view(AnyoneCanView 拥有可阅读权限的用户),anyone_can_edit(AnyoneCanEdit 拥有可编辑权限的用户),only_full_access(OnlyFullAccess 拥有可管理权限(包括我)的用户)',
)
.optional(),
comment_entity: z
.enum(['anyone_can_view', 'anyone_can_edit'])
.describe(
'谁可以评论 Options:anyone_can_view(AnyoneCanView 拥有可阅读权限的用户),anyone_can_edit(AnyoneCanEdit 拥有可编辑权限的用户)',
)
.optional(),
share_entity: z
.enum(['anyone', 'same_tenant', 'only_full_access'])
.describe(
'谁可以添加和管理协作者 Options:anyone(所有可阅读或编辑此文档的用户),same_tenant(SameTenant 组织内所有可阅读或编辑此文档的用户),only_full_access(OnlyFullAccess 拥有可管理权限(包括我)的用户)',
)
.optional(),
link_share_entity: z
.enum(['tenant_readable', 'tenant_editable', 'anyone_readable', 'anyone_editable', 'closed'])
.describe(
'链接分享设置 Options:tenant_readable(TenantReadable 组织内获得链接的人可阅读),tenant_editable(TenantEditable 组织内获得链接的人可编辑),anyone_readable(AnyoneReadable 互联网上获得链接的任何人可阅读),anyone_editable(AnyoneEditable 互联网上获得链接的任何人可编辑),closed(关闭链接分享)',
)
.optional(),
invite_external: z.boolean().describe('允许非「可管理权限」的人分享到组织外').optional(),
}),
params: z.object({
type: z
.enum(['doc', 'sheet', 'file', 'wiki', 'bitable', 'docx', 'mindnote', 'minutes', 'slides'])
.describe(
'文件类型,需要与文件的 token 相匹配 Options:doc(文档),sheet(电子表格),file(云空间文件),wiki(知识库节点),bitable(多维表格),docx(新版文档),mindnote(思维笔记),minutes(妙记),slides(幻灯片)',
),
}),
path: z.object({
token: z
.string()
.describe(
'文件的 token,获取方式见 ',
),
}),
useUAT: z.boolean().describe('使用用户身份请求, 否则使用应用身份').optional(),
},
};
export const driveV1Tools = [
driveV1ExportTaskCreate,
driveV1ExportTaskGet,
driveV1FileCommentBatchQuery,
driveV1FileCommentCreate,
driveV1FileCommentGet,
driveV1FileCommentList,
driveV1FileCommentPatch,
driveV1FileCommentReplyDelete,
driveV1FileCommentReplyList,
driveV1FileCommentReplyUpdate,
driveV1FileCopy,
driveV1FileCreateFolder,
driveV1FileCreateShortcut,
driveV1FileDelete,
driveV1FileDeleteSubscribe,
driveV1FileGetSubscribe,
driveV1FileList,
driveV1FileMove,
driveV1FileStatisticsGet,
driveV1FileSubscribe,
driveV1FileSubscriptionCreate,
driveV1FileSubscriptionGet,
driveV1FileSubscriptionPatch,
driveV1FileTaskCheck,
driveV1FileUploadFinish,
driveV1FileUploadPrepare,
driveV1FileVersionCreate,
driveV1FileVersionDelete,
driveV1FileVersionGet,
driveV1FileVersionList,
driveV1FileViewRecordList,
driveV1ImportTaskCreate,
driveV1ImportTaskGet,
driveV1MediaBatchGetTmpDownloadUrl,
driveV1MediaUploadFinish,
driveV1MediaUploadPrepare,
driveV1MetaBatchQuery,
driveV1PermissionMemberAuth,
driveV1PermissionMemberBatchCreate,
driveV1PermissionMemberCreate,
driveV1PermissionMemberDelete,
driveV1PermissionMemberList,
driveV1PermissionMemberTransferOwner,
driveV1PermissionMemberUpdate,
driveV1PermissionPublicGet,
driveV1PermissionPublicPasswordCreate,
driveV1PermissionPublicPasswordDelete,
driveV1PermissionPublicPasswordUpdate,
driveV1PermissionPublicPatch,
];