钉钉云盘 是一个办公协同插件,以插件能力的形式出现在指令树「扩展能力」中。安装或内置加载后,可把插件里的节点拖到工作流画布使用。
插件标识:rpa-plugin-dingtalk-drive
插件分类:办公协同插件
节点数量:10 个
| 方式 | 怎么用 | 适合人群 |
|---|
| 可视化编排(推荐) | 在「扩展能力」中找到 钉钉云盘,拖入需要的节点并填写参数 | 大多数用户,适合按表单配置插件能力 |
| 代码编排(执行指令 XML) | 通过「执行指令(XML)」调用节点的 type 与参数 | 需要动态拼装、循环调用或批量处理的用户 |
- 覆盖钉钉云盘(Drive / Storage Spaces)原子能力:空间 / dentry 浏览、文件夹创建、文件上传下载、发送在线文件到群 / 用户。复用 dingtalk-app 连接(AppKey + AppSecret + 操作人 unionId/userId),节点通过 connectionId 引用即可。
- 需要在自动化流程中复用该插件提供的读取、写入、同步或处理能力。
- 需要先配置连接:dingtalk-app。
- 办公协同类能力需要确认文件、表格、空间或数据库的访问权限。
- 建议先运行连通性、查询或只读节点,确认权限和参数正确后再执行写入类节点。
| 连接类型 | 名称 | 说明 |
|---|
dingtalk-app | dingtalk-app | 通过 AppKey + AppSecret 调用钉钉云盘 OpenAPI(与多维表 / 在线表格共享同一连接) |
| 节点名称 | 节点标识 | 说明 |
|---|
| 连通性测试(钉钉云盘) | DingtalkDrivePing | 向钉钉 OpenAPI 换一次 accessToken 验证 AppKey/AppSecret 凭据可用 |
| 列出云盘空间(钉钉云盘) | ListDingtalkDriveSpaces | 列出当前操作人可访问的云盘空间(按 spaceType 过滤) |
| 获取空间信息(钉钉云盘) | GetDingtalkDriveSpaceInfo | 获取指定空间的元信息(容量 / 使用量 / 类型等,字段透传钉钉响应) |
| 列出文件 / 文件夹(钉钉云盘) | ListDingtalkDriveDentries | 列出指定空间下父目录的 dentry(文件 / 子文件夹)。支持自动翻页、按类型过滤 |
| 获取 dentry 详情(钉钉云盘) | GetDingtalkDriveDentry | 获取单个 dentry(文件 / 文件夹)的完整字段(id、name、parentId、uuid、size、createTime …) |
| 创建文件夹(钉钉云盘) | CreateDingtalkDriveFolder | 在指定空间 / 父目录下创建文件夹(支持冲突策略:自动重命名 / 覆盖 / 返回已存在) |
| 上传本地文件(钉钉云盘) | UploadDingtalkDriveFile | 把本地文件以 HEADER_SIGNATURE 协议上传到指定空间 / 目录,并提交元信息。推荐文件大小 ≤ 200MB 注意:当前实现不支持 >200MB 文件;大文件需等待分片上传协议实现。 |
| 下载文件到本地(钉钉云盘) | DownloadDingtalkDriveFile | 把钉钉云盘上的指定文件下载到本地目录。saveDir 不存在自动创建;saveName 缺省时自动从 dentry / URL 推断 |
| 发送在线文件到群(钉钉云盘) | SendDingtalkDriveFileToGroup | 把云盘上已有的文件以「在线文件卡片」形式发送到指定群会话 注意:会向目标群会话投递在线文件卡片,需应用具备消息发送权限,请确认 chatId/openConversationId。 |
| 发送在线文件到用户(钉钉云盘) | SendDingtalkDriveFileToUser | 通过应用把云盘文件以「在线文件卡片」单聊推送给指定用户 注意:会向目标用户单聊投递在线文件卡片,需应用具备消息发送权限,请确认 userId。 |
- 节点标识:
DingtalkDrivePing
- 节点说明: 向钉钉 OpenAPI 换一次 accessToken 验证 AppKey/AppSecret 凭据可用
- XML 示例:
<DingtalkDrivePing connectionId="" outKey="pingResult" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | 在「连接管理」配置的钉钉自建应用连接 |
| 输出变量名 | outKey | output | 否 | pingResult | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
pingResult | object | { ok:true, data:{ message }, statusCode, attempts, durationMs } 或 { ok:false, error, code, category, hint? } |
- 节点标识:
ListDingtalkDriveSpaces
- 节点说明: 列出当前操作人可访问的云盘空间(按 spaceType 过滤)
- XML 示例:
<ListDingtalkDriveSpaces connectionId="" spaceType="org" maxResults="50" outKey="spaces" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| 空间类型 | spaceType | select | 否 | org | |
| 单页大小 | maxResults | number | 否 | 50 | 1~200;本节点 仅返回首页,下一页用 nextToken 再调一次 |
| 下一页 token(可选) | nextToken | string | 否 | - | |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | spaces | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
spaces | object | { ok:true, data:{ spaces:[{ spaceId, spaceName?, spaceType?, raw }], total, nextToken? }, … } |
- 节点标识:
GetDingtalkDriveSpaceInfo
- 节点说明: 获取指定空间的元信息(容量 / 使用量 / 类型等,字段透传钉钉响应)
- XML 示例:
<GetDingtalkDriveSpaceInfo connectionId="" spaceId="" outKey="spaceInfo" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | 从「列出空间」拿到的 spaceId |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | spaceInfo | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
spaceInfo | object | { ok:true, data:<raw>, … };data 字段透传钉钉响应 |
- 节点标识:
ListDingtalkDriveDentries
- 节点说明: 列出指定空间下父目录的 dentry(文件 / 子文件夹)。支持自动翻页、按类型过滤
- XML 示例:
<ListDingtalkDriveDentries connectionId="" spaceId="" parentId="0" fetchAll="true" outKey="dentries" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| parentId | parentId | string | 否 | 0 | 父目录 id;根目录传 “0” |
| 单页大小 | maxResults | number | 否 | 50 | 1~100 |
| 自动翻页 | fetchAll | boolean | 否 | - | 为 true 时持续追加直到 nextToken 为空或满 200 页 |
| 包含文件 | includeFiles | boolean | 否 | true | |
| 包含文件夹 | includeFolders | boolean | 否 | true | |
| 起始 token(可选) | nextToken | string | 否 | - | |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | dentries | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
dentries | object | { ok:true, data:{ dentries:[<DentryDescriptor>], total, pages, nextToken? }, … } |
- 节点标识:
GetDingtalkDriveDentry
- 节点说明: 获取单个 dentry(文件 / 文件夹)的完整字段(id、name、parentId、uuid、size、createTime …)
- XML 示例:
<GetDingtalkDriveDentry connectionId="" spaceId="" dentryId="" outKey="dentry" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| dentryId | dentryId | string | 是 | - | |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | dentry | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
dentry | object | { ok:true, data:{ dentry: <DentryDescriptor|null> }, … } |
- 节点标识:
CreateDingtalkDriveFolder
- 节点说明: 在指定空间 / 父目录下创建文件夹(支持冲突策略:自动重命名 / 覆盖 / 返回已存在)
- XML 示例:
<CreateDingtalkDriveFolder connectionId="" spaceId="" parentId="0" name="新文件夹" outKey="folder" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| parentId | parentId | string | 否 | 0 | 根目录传 “0” |
| 文件夹名称 | name | string | 是 | - | 新文件夹 |
| 冲突策略 | conflictStrategy | select | 否 | AUTO_RENAME | |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | folder | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
folder | object | { ok:true, data:{ dentry:<DentryDescriptor|null> }, … } |
- 节点标识:
UploadDingtalkDriveFile
- 节点说明: 把本地文件以 HEADER_SIGNATURE 协议上传到指定空间 / 目录,并提交元信息。推荐文件大小 ≤ 200MB 注意:当前实现不支持 >200MB 文件;大文件需等待分片上传协议实现。
- XML 示例:
<UploadDingtalkDriveFile connectionId="" spaceId="" parentId="0" filePath="" outKey="upload" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| parentId | parentId | string | 否 | 0 | 根目录传 “0” |
| 本地文件路径 | filePath | string | 是 | - | /Users/me/report.xlsx |
| 上传后文件名(可选) | fileName | string | 否 | - | 默认与本地 basename 一致 |
| 冲突策略 | conflictStrategy | select | 否 | AUTO_RENAME | |
| OSS 上传超时 (ms) | ossTimeoutMs | number | 否 | 300000 | 5_000 ~ 1_800_000 |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | upload | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
upload | object | { ok:true, data:{ dentry, uploadKey, ossDurationMs, filePath, fileName, conflictStrategy }, … } |
- 节点标识:
DownloadDingtalkDriveFile
- 节点说明: 把钉钉云盘上的指定文件下载到本地目录。saveDir 不存在自动创建;saveName 缺省时自动从 dentry / URL 推断
- XML 示例:
<DownloadDingtalkDriveFile connectionId="" spaceId="" dentryId="" saveDir="" outKey="download" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| dentryId(要下载的文件) | dentryId | string | 是 | - | |
| 本地保存目录 | saveDir | string | 是 | - | /Users/me/Downloads |
| 保存文件名(可选) | saveName | string | 否 | - | 缺省自动从 dentry 名 / URL 推断 |
| 已存在时覆盖 | overwrite | boolean | 否 | - | |
| OSS 下载超时 (ms) | ossTimeoutMs | number | 否 | 300000 | |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | download | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
download | object | { ok:true, data:{ savedPath, bytes, ossDurationMs, spaceId, dentryId, resolvedFromDentry? }, … } |
- 节点标识:
SendDingtalkDriveFileToGroup
- 节点说明: 把云盘上已有的文件以「在线文件卡片」形式发送到指定群会话 注意:会向目标群会话投递在线文件卡片,需应用具备消息发送权限,请确认 chatId/openConversationId。
- XML 示例:
<SendDingtalkDriveFileToGroup connectionId="" spaceId="" dentryId="" chatId="" outKey="sendGroup" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| dentryId(云盘文件 ID) | dentryId | string | 是 | - | |
| chatId(群 ID) | chatId | string | 否 | - | chatId 与 openConversationId 二选一 |
| openConversationId(替代 chatId) | openConversationId | string | 否 | - | |
| 操作人 unionId(覆盖连接默认值) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | sendGroup | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
sendGroup | object | { ok:true, data:{ spaceId, dentryId, chatId, openConversationId, raw }, … } |
- 节点标识:
SendDingtalkDriveFileToUser
- 节点说明: 通过应用把云盘文件以「在线文件卡片」单聊推送给指定用户 注意:会向目标用户单聊投递在线文件卡片,需应用具备消息发送权限,请确认 userId。
- XML 示例:
<SendDingtalkDriveFileToUser connectionId="" spaceId="" dentryId="" userId="" outKey="sendUser" />
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|
| 钉钉连接 | connectionId | connection | 是 | - | |
| spaceId | spaceId | string | 是 | - | |
| dentryId(云盘文件 ID) | dentryId | string | 是 | - | |
| 接收人 userId | userId | string | 是 | - | 钉钉应用内 userId;插件会自动换成 unionId |
| 操作人 unionId(覆盖连接默认值,仅用于鉴权) | operatorUnionId | string | 否 | - | |
| 操作人 userId(覆盖连接默认值,仅用于鉴权) | operatorUserId | string | 否 | - | |
| 输出变量名 | outKey | output | 否 | sendUser | |
| 失败时抛错 | failOnError | boolean | 否 | true | |
输出字段:
| 字段 | 类型 | 说明 |
|---|
sendUser | object | { ok:true, data:{ spaceId, dentryId, userId, recipientUnionId, raw }, … } |
- 节点运行状态为成功。
- 输出变量中包含预期字段,且可被下游节点引用。
- 对外部系统有写入动作的节点,目标系统中的数据状态与配置一致。
| 现象 / 报错 | 可能原因 | 处理建议 |
|---|
| 找不到插件分组 | 插件未安装、未加载或当前端不是桌面客户端 | 在「扩展能力」中刷新/重新扫描插件,必要时重启客户端。 |
| 连接或鉴权失败 | 连接配置缺失、令牌过期或权限不足 | 重新配置连接,确认账号具备对应资源权限。 |
| 查询结果为空 | 筛选条件过窄、目标资源为空或页面状态不正确 | 放宽条件,检查资源 ID、日期范围和页面登录态。 |
| 写入类操作失败 | 参数格式不符合平台要求或目标资源不可写 | 先用少量测试数据验证,再检查必填字段、ID 和权限。 |
- 插件能力由桌面端扩展能力机制加载,和普通后端指令树不是同一数据源。
- 插件页按插件维度整理;每个节点的帮助入口会跳到所属插件页,页面内可查节点标识、参数和输出。