mcpField
F
feishu-approval

feishu-approval

github.com/alextangson生产力6487 次安装31 周前更新
代码仓库

关于 feishu-approval

feishu-approval 是用于飞书 Approval API 的技能,可创建和查询审批实例,并处理任务、定义、抄送与评论,适合需要通过 API 管理飞书审批的工作流。

主要功能

  1. 01创建、查询和撤回审批实例
  2. 02同意、拒绝或转交审批任务
  3. 03查询审批模板及表单定义
  4. 04管理审批抄送与评论
  5. 05分页获取审批实例列表

适用场景

  1. 01发起并跟踪审批申请
  2. 02处理待办审批任务
  3. 03查看审批模板和表单字段
  4. 04查询抄送并添加审批评论

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alextangson/feishu_skills --skill feishu-approval

安装后在 Claude Code 中输入/feishu-approval确认已加载。

详细介绍

飞书审批

通过 Approval API 创建和查询审批实例。

Base URL: https://open.feishu.cn/open-apis/approval/v4

认证与 Token 获取

从 feishu_skills 根目录执行共享脚本:

TOKEN="$(./scripts/get_feishu_token.sh)"

请求头统一使用 Authorization: Bearer ${TOKEN}。

如果业务接口返回 token 无效、过期或 401,强制刷新后仅重试一次原请求:

TOKEN="$(./scripts/get_feishu_token.sh --force-refresh)"

环境变量:

  • FEISHU_APP_ID
  • FEISHU_APP_SECRET

本地缓存: ./.feishu_token_cache.json(未过期直接复用,默认提前 5 分钟刷新)


审批实例

API端点方法请求体示例说明
创建实例/instancesPOST{"approval_code":"7C46...","user_id":"ou_xxx","form":"{\"widget1\":\"value1\"}"}发起审批
查询实例/instances/{instance_id}GET-获取审批状态
审批操作/instances/{instance_id}/approvePOST{"comment":"同意","task_id":"xxx"}同意/拒绝审批
撤回审批/instances/{instance_id}/cancelPOST{"user_id":"ou_xxx"}申请人撤回
转交审批/instances/{instance_code}/transferPOST{"user_id":"ou_xxx","transfer_user_id":"ou_yyy","comment":"转交"}转交给他人
催办审批/instances/{instance_id}/urgePOST-发送催办提醒
获取实例列表/instancesGET查询参数:page_size=50&page_token=xxx&user_id=ou_xxx支持筛选参数(分页)
查询实例详情/instances/detailPOST{"instance_code":"xxx"}查询完整详情

创建实例:

{
  "approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
  "user_id": "ou_xxx",
  "form": "{\"widget1\":\"value1\"}"
}

审批任务

API端点方法请求体示例说明
获取任务列表/tasksGET-查询待办任务
获取任务详情/tasks/{task_id}GET-查询任务详情
审批任务/tasks/{task_id}/approvePOST{"comment":"同意"}处理审批任务
转交任务/tasks/{task_id}/transferPOST{"transfer_user_id":"ou_xxx"}转交任务

审批定义

API端点方法请求体示例说明
获取定义列表/approvalsGET-查询所有审批模板
获取定义详情/approvals/{approval_code}GET-查询模板详情
获取定义表单/approvals/{approval_code}/formsGET-查询表单字段定义

审批抄送

API端点方法请求体示例说明
获取抄送列表/ccGET-查询抄送我的审批
已读抄送/cc/{instance_id}/readPOST-标记抄送已读

审批评论

API端点方法请求体示例说明
添加评论/instances/{instance_id}/commentsPOST{"content":"评论内容","user_id":"ou_xxx"}添加审批评论
获取评论/instances/{instance_id}/commentsGET-查询评论列表

常见参数说明

user_id_type: 用户 ID 类型

  • open_id(默认)
  • user_id
  • union_id

分页参数:

  • page_size: 每页数量(默认 20,最大 100)
  • page_token: 分页标记

实例状态:

  • PENDING: 审批中
  • APPROVED: 已通过
  • REJECTED: 已拒绝
  • CANCELED: 已撤回
  • DELETED: 已删除

测试示例

获取审批定义列表:

curl -X GET "https://open.feishu.cn/open-apis/approval/v4/approvals?page_size=10" \
  -H "Authorization: Bearer ${TOKEN}"

创建审批实例:

curl -X POST "https://open.feishu.cn/open-apis/approval/v4/instances" \
  -H "Authorization: Bearer ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "approval_code": "7C468A54-8745-2245-9675-08B7C63E7A85",
    "user_id": "ou_xxx",
    "form": "{\"widget1\":\"请假3天\"}"
  }'

查询实例列表:

curl -X GET "https://open.feishu.cn/open-apis/approval/v4/instances?page_size=20&user_id=ou_xxx" \
  -H "Authorization: Bearer ${TOKEN}"

最佳实践

  1. 先获取审批定义(确认 form 字段)
  2. form 必须字符串化 JSON
  3. 审批操作需审批人权限
  4. 分页查询:大量数据用 page_token 分页
  5. user_id 必填:创建实例和查询列表都需要指定 user_id

评论

支持 Markdown