- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
104 lines
4.3 KiB
Markdown
104 lines
4.3 KiB
Markdown
|
||
# drive +create-shortcut
|
||
|
||
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
||
|
||
在目标文件夹中为一个现有 Drive 文件创建快捷方式。
|
||
|
||
## 命令
|
||
|
||
```bash
|
||
# 为普通文件创建快捷方式
|
||
lark-cli drive +create-shortcut \
|
||
--folder-token <TARGET_FOLDER_TOKEN> \
|
||
--file-token <FILE_TOKEN> \
|
||
--type file
|
||
|
||
# 为新版文档创建快捷方式
|
||
lark-cli drive +create-shortcut \
|
||
--folder-token <TARGET_FOLDER_TOKEN> \
|
||
--file-token <DOCX_TOKEN> \
|
||
--type docx
|
||
|
||
# 为电子表格创建快捷方式
|
||
lark-cli drive +create-shortcut \
|
||
--folder-token <TARGET_FOLDER_TOKEN> \
|
||
--file-token <SHEET_TOKEN> \
|
||
--type sheet
|
||
|
||
# 仅预览即将发起的请求,不真正执行
|
||
lark-cli drive +create-shortcut \
|
||
--folder-token <TARGET_FOLDER_TOKEN> \
|
||
--file-token <DOCX_TOKEN> \
|
||
--type docx \
|
||
--dry-run
|
||
```
|
||
|
||
## 参数
|
||
|
||
| 参数 | 必填 | 说明 |
|
||
|------|------|------|
|
||
| `--folder-token` | 是 | 目标父文件夹 token |
|
||
| `--file-token` | 是 | 源文件 token,表示被引用的原始文件 |
|
||
| `--type` | 是 | 源文件类型,推荐值:`file`、`docx`、`doc`、`sheet`、`bitable`、`mindnote`、`slides` |
|
||
|
||
## 输入规则
|
||
|
||
- 该 shortcut 的最小输入是 `--folder-token` + `--file-token` + `--type`
|
||
- CLI 层会把 `--file-token` 和 `--type` 组装为底层 API 所需的 `refer_entity`
|
||
- `--file-token` 必须是 Drive 文件 token,不要直接传 wiki 节点 token
|
||
- 如果来源是 `/wiki/...` 链接,必须先按 [`lark-drive`](../SKILL.md) 中的 wiki 解析流程拿到真实 `obj_token`,再创建快捷方式
|
||
- 目标位置必须是云空间(云盘/云存储)文件夹;这个 shortcut 不是“复制文件内容”,而是“在另一个文件夹里挂一个引用入口”
|
||
|
||
## 类型说明
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| `file` | 普通文件 |
|
||
| `docx` | 新版云文档 |
|
||
| `doc` | 旧版云文档 |
|
||
| `sheet` | 电子表格 |
|
||
| `bitable` | 多维表格 |
|
||
| `mindnote` | 思维笔记 |
|
||
| `slides` | 幻灯片 |
|
||
|
||
## 行为说明
|
||
|
||
- 成功时会调用 `POST /open-apis/drive/v1/files/create_shortcut`
|
||
- 该 shortcut 继承通用能力,可配合 `--as user|bot|auto`、`--format`、`--jq`、`--dry-run` 使用
|
||
- `--dry-run` 只输出请求方法、路径、身份和请求体预览,不会真正创建快捷方式
|
||
- 这是写入操作;执行前应确认目标文件夹和源文件都准确无误
|
||
|
||
## 限制
|
||
|
||
- 该接口不支持并发调用
|
||
- 调用频率上限为 5 QPS,且 10000 次/天
|
||
- 不支持跨租户、跨地域创建快捷方式
|
||
- 不支持跨品牌创建快捷方式
|
||
- 如果目标父文件夹单层挂载数量超过限制,会返回 `1062507`
|
||
|
||
## 权限要求
|
||
|
||
- 当前调用身份需要能访问源文件
|
||
- 当前调用身份需要对目标文件夹有编辑权限
|
||
- 如果权限不足,常见表现为 `1061004 forbidden`
|
||
|
||
## 常见错误
|
||
|
||
| 错误码 / 错误信息 | 原因 | 处理建议 |
|
||
|------|------|------|
|
||
| `1061002 params error` | 缺少必填参数,或 `--file-token` / `--type` 组合无法构成有效源文件信息 | 检查 `--file-token`、`--type` 是否完整且匹配;如显式传了 `--folder-token`,再确认其值有效 |
|
||
| `1061003 not found` | 源文件或目标文件夹不存在 | 重新确认 token 是否正确、资源是否已删除 |
|
||
| `1061004 forbidden` | 对源文件没有访问权限,或对目标文件夹没有编辑权限 | 切换到有权限的身份,或先授予文档 / 文件夹权限 |
|
||
| `1061005 auth failed` | 身份类型或 access token 不正确 | 检查 `--as` 使用的身份及当前登录态 |
|
||
| `1061007 file has been delete` | 源文件已删除 | 确认原文件仍存在,再重新执行 |
|
||
| `1062507 parent node out of sibling num` | 目标文件夹单层挂载数超过上限 | 清理目标目录,或换一个父文件夹 |
|
||
| `1061045 resource contention occurred, please retry` | 平台内部资源争抢 | 稍后重试,不要并发重复调用 |
|
||
| `1064510 cross tenant and unit not support` | 跨租户或跨地域请求 | 改为在同租户、同地域范围内操作 |
|
||
| `1064511 cross brand not support` | 跨品牌请求 | 改为在同品牌环境内操作 |
|
||
|
||
## 参考
|
||
|
||
- [lark-drive](../SKILL.md) -- 云空间(云盘/云存储)全部命令
|
||
- [lark-shared](../../lark-shared/SKILL.md) -- 认证和全局参数
|