ai_member_xiaobian/.agents/skills/lark-drive/references/lark-drive-upload.md
2026-05-15 10:57:05 +08:00

2.6 KiB
Raw Permalink Blame History

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

这是写入操作 —— 执行前必须确认用户意图。

参考