影刀RPA 飞书审批自动化:提交审批与结果跟踪
title: “影刀RPA 飞书审批自动化提交审批与结果跟踪”date: 2026-07-01author: 林焱影刀RPA 飞书审批自动化提交审批与结果跟踪公司用飞书OA每次提交报销或请假都要手动填一堆表单提交了还要盯着看有没有批。这种高度重复的操作正是影刀的主场。什么情况用什么适合自动化的飞书审批场景批量提交费用报销月底集中报销10笔每周/每月固定提交的申请固定IT采购申请监控审批状态并在通过后自动触发下一步操作从其他系统ERP、Excel读取数据批量发起审批不适合的场景审批内容每次都不同需要人判断填什么金额等关键字段需要人工核对再提交拼多多店群自动化上架方案怎么做方法1调用飞书开放平台API推荐飞书有完整的开放API可以用代码直接发起审批无需操作界面。第一步获取应用凭证进入飞书开放平台https://open.feishu.cn创建企业自建应用申请「审批」相关权限approval:approval查看审批定义approval:instance创建审批实例获取App ID和App Secret【影刀操作】新建流程「飞书审批自动提交」添加【Python】指令获取access_tokenimportrequestsimportjson app_idcli_xxxxxxxxxapp_secretyour_app_secret# 获取tenant_access_tokenresprequests.post(https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal,json{app_id:app_id,app_secret:app_secret})resultresp.json()access_tokenresult[tenant_access_token]yda.set_variable(access_token,access_token)print(Token获取成功)添加【Python】指令发起审批importrequestsimportjson access_tokenyda.get_variable(access_token)headers{Authorization:fBearer{access_token},Content-Type:application/json}# 发起审批实例approval_code是审批定义的唯一标识在飞书审批管理里查payload{approval_code:YOUR_APPROVAL_CODE,user_id:ou_xxxx,# 提交人的user_idform:json.dumps([{id:widget1,# 表单控件ID在审批定义里查type:input,value:业务差旅报销# 报销说明},{id:widget2,type:amount,value:1580.00# 报销金额},{id:widget3,type:date,value:2024-06-26# 日期}])}resprequests.post(https://open.feishu.cn/open-apis/approval/v4/instances,headersheaders,jsonpayload)resultresp.json()ifresult[code]0:instance_coderesult[data][instance_code]yda.set_variable(instance_code,instance_code)print(f审批提交成功审批单号{instance_code})else:raiseException(f审批提交失败{result[msg]})方法2查询审批状态并跟踪结果【影刀操作】添加【Python】指令轮询审批状态importrequestsimporttime access_tokenyda.get_variable(access_token)instance_codeyda.get_variable(instance_code)headers{Authorization:fBearer{access_token}}max_wait_hours24# 最长等待24小时check_interval300# 每5分钟检查一次for_inrange(max_wait_hours*12):resprequests.get(fhttps://open.feishu.cn/open-apis/approval/v4/instances/{instance_code},headersheaders)resultresp.json()statusresult[data][status]print(f当前审批状态{status})ifstatusAPPROVED:print(审批已通过)yda.set_variable(approval_result,approved)breakelifstatusREJECTED:reject_reasonresult[data].get(comment,无说明)print(f审批被驳回原因{reject_reason})yda.set_variable(approval_result,rejected)breakelifstatusCANCELED:print(审批已撤销)yda.set_variable(approval_result,canceled)breaktime.sleep(check_interval)else:print(审批超时请人工跟进)yda.set_variable(approval_result,timeout)添加【条件判断】指令判断条件变量approval_result等于approved如果为真触发后续业务流程如记账、通知财务如果为假发送通知告知处理人审批结果方法3从Excel批量提交多笔报销【影刀操作】添加【读取Excel】指令文件路径C:\报销\6月报销单.xlsx保存结果变量expense_list添加【循环】指令遍历报销列表在循环内调用「提交审批」子流程添加等待避免触发频率限制每提交一笔等待3秒有什么坑坑1不知道approval_code每个审批流程有一个唯一的approval_code新人经常找不到。找法飞书管理后台→工作台→审批→找到对应审批流程→复制审批编码。TEMU店群如何管理运营坑2不知道表单控件ID审批表单里每个控件都有一个id不知道ID就不知道往哪个字段填数据。找法调用APIGET /open-apis/approval/v4/approvals/{approval_code}可以获取审批定义里面包含所有控件的ID和类型。坑3user_id获取方式错误发起审批时需要填提交人的user_id用手机号或邮箱是不行的必须是飞书的open_id或union_id。获取方式调用POST /open-apis/contact/v3/users/batch_get_id传入手机号换取user_id。坑4Token有效期只有2小时access_token 2小时过期长流程跑到一半Token失效。解决方法封装一个get_valid_token()函数每次调用前检查Token是否快过期是则刷新。总结飞书审批自动化的最佳路径是API不是操作界面。接口稳定、速度快、不受UI变动影响。关键是要找到approval_code和表单控件ID这是最容易卡住的地方。搞定这两个批量提交审批就是循环调接口的事。