2.6 KiB
2.6 KiB
drive +upload
前置条件: 先阅读
../lark-shared/SKILL.md了解认证、全局参数和安全规则。
上传本地文件到飞书云空间。
命令
# 推荐:使用 shortcut 一步上传
lark-cli drive +upload --file ./report.pdf --folder-token fldbc_xxx
# 自定义上传后的文件名
lark-cli drive +upload --file ./report.pdf --name "季度总结.pdf"
# 生成可用临时下载链接的上传方式(素材上传,适用于后续用 curl 下载)
# 注意:需要可写 docx 文档 ID(用于挂载素材 block),且文件最大 20MB
lark-cli drive +upload --as-media --doc docx_xxx --file ./report.pdf
# 取出 tmp_download_url 后可直接 curl 下载
curl -L -o report.pdf "<TMP_DOWNLOAD_URL>"
# 原生命令(高级/分片上传):预上传 + 完成上传
lark-cli drive files upload_prepare --data '{
"file_name": "report.pdf",
"parent_type": "explorer",
"parent_node": "fldbc_xxx",
"size": 1048576
}'
lark-cli drive files upload_finish --data '{
"upload_id": "<UPLOAD_ID>",
"block_num": 1
}'
# 查看完整参数定义
lark-cli schema drive.files.upload_prepare
Important
如果文件是以应用身份(bot)上传的,如
lark-cli drive +upload --as bot在上传成功后,CLI 会尝试为当前 CLI 用户自动授予该文件的full_access(可管理权限)。以应用身份上传时,结果里会额外返回
permission_grant字段,明确说明授权结果:
status = granted:当前 CLI 用户已获得该文件的可管理权限status = skipped:本地没有可用的当前用户open_id,因此不会自动授权;可提示用户先完成lark-cli auth login,再让 AI / agent 继续使用应用身份(bot)授予当前用户权限status = failed:文件已上传成功,但自动授权用户失败;会带上失败原因,并提示稍后重试或继续使用 bot 身份处理该文件
permission_grant.perm = full_access表示该资源已授予“可管理权限”。不要擅自执行 owner 转移。 如果用户需要把 owner 转给自己,必须单独确认。
参数(预上传 --data JSON body):
| 字段 | 必填 | 说明 |
|---|---|---|
file_name |
是 | 文件名 |
parent_type |
是 | 父节点类型,如 "explorer" |
parent_node |
是 | 父节点 token(文件夹 token) |
size |
是 | 文件大小(字节) |
Caution
这是写入操作 —— 执行前必须确认用户意图。
参考
- lark-drive -- 云空间全部命令
- lark-shared -- 认证和全局参数