名称: feishu-doc-reader
描述: 使用飞书开放 API 读取和提取飞书文档内容
元数据: {"moltbot":{"emoji":"📄","requires":{"bins":["python3","curl"]}}}
此技能支持使用飞书开放 API 读取和提取飞书文档内容。
./reference/feishu_config.json 创建配置文件,填入你的飞书应用凭证:{
"app_id": "在此处填写你的飞书应用 ID",
"app_secret": "在此处填写你的飞书应用密钥"
}
chmod +x scripts/read_doc.sh
chmod +x scripts/get_blocks.sh
安全提示:配置文件应妥善保管,切勿提交到版本控制系统。建议设置合适的文件权限(chmod 600 ./reference/feishu_config.json)。
读取飞书文档需要文档令牌(可在 URL 中找到:https://example.feishu.cn/docx/DOC_TOKEN)。
使用 Shell 脚本(推荐):
# 首先确保环境变量已设置
./scripts/read_doc.sh "你的文档令牌"
# 或显式指定文档类型
./scripts/read_doc.sh "docx_token" "doc"
./scripts/read_doc.sh "sheet_token" "sheet"
如需获取包含所有块的完整文档结构,请使用专门的块脚本:
# 获取完整的文档块结构
./scripts/get_blocks.sh "docx_AbCdEfGhIjKlMnOpQrStUv"
# 按 ID 获取特定块
./scripts/get_blocks.sh "docx_token" "block_id"
# 获取包含子块的块
./scripts/get_blocks.sh "docx_token" "" "true"
直接使用 Python 处理块:
python scripts/get_feishu_doc_blocks.py --doc-token "你的文档令牌"
python scripts/get_feishu_doc_blocks.py --doc-token "docx_token" --block-id "block_id"
python scripts/get_feishu_doc_blocks.py --doc-token "docx_token" --include-children
# Python 脚本选项
python scripts/read_feishu_doc.py --help
# Shell 脚本用法
./scripts/read_doc.sh <doc_token> [doc|sheet|slide]
# 获取完整文档块
./scripts/get_blocks.sh <doc_token>
# 获取特定块
./scripts/get_blocks.sh <doc_token> <block_id>
# 包含子块
./scripts/get_blocks.sh <doc_token> "" true
# Python 选项
python scripts/get_feishu_doc_blocks.py --help
你的飞书应用需要以下权限:
- docx:document:readonly - 读取文档内容
- doc:document:readonly - 读取旧版文档内容
- sheets:spreadsheet:readonly - 读取电子表格内容
常见错误及解决方案:
- 403 禁止访问:检查应用权限和文档共享设置
- 404 未找到:验证文档令牌是否正确以及文档是否存在
- 令牌过期:访问令牌有效期为 2 小时,需要时刷新
- 应用 ID/密钥无效:在飞书开放平台仔细检查你的凭证
- 权限不足:确保你的应用具有所需的 API 权限
- 99991663:应用无权访问该文档
- 99991664:文档不存在或已被删除
- 99991668:令牌过期,需要刷新
# 读取文档
./scripts/read_doc.sh "docx_AbCdEfGhIjKlMnOpQrStUv"
# 获取所有块及其完整结构
./scripts/get_blocks.sh "docx_AbCdEfGhIjKlMnOpQrStUv"
# 获取特定块的详细信息
./scripts/get_blocks.sh "docx_AbCdEfGhIjKlMnOpQrStUv" "blk_xxxxxxxxxxxxxx"
./scripts/read_doc.sh "sheet_XyZ123AbCdEfGhIj" "sheet"
python scripts/read_feishu_doc.py --doc-token "docx_token" --extract-text-only
chmod 600)test_auth.py 脚本测试以验证凭证docx_、doc_ 或 sheet_ 开头)open.feishu.cn--include-children 标志获取完整的块树