尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

影刀RPA 企业微信自动化:消息推送与员工数据管理

影刀RPA 企业微信自动化:消息推送与员工数据管理
📅 发布时间:2026/7/12 3:18:52

影刀RPA 企业微信自动化:消息推送与员工数据管理

作者:林焱


写在前面

企业微信是现在很多公司的核心内部协作工具。影刀结合企业微信API可以做:自动给员工或群发消息、读取部门架构和员工列表、发送工作通知卡片、管理审批数据。

本文聚焦最实用的几个场景,每个都有完整代码。


一、企业微信API基础

获取Access Token

importrequestsdefget_wxwork_token(corp_id,corp_secret):""" 获取企业微信access_token corp_id: 企业ID(在企业微信后台"我的企业"→"企业信息"中查看) corp_secret: 应用的Secret(在应用管理中查看) """url="https://qyapi.weixin.qq.com/cgi-bin/gettoken"params={"corpid":corp_id,"corpsecret":corp_secret}[video(video-QYftWuLK-1783794446247)(type-csdn)(url-https://live.csdn.net/v/embed/525010)(image-https://v-blog.csdnimg.cn/asset/f4faa587144cb7070f19e8b36813806b/cover/Cover0.jpg)(title-店群矩阵自动化突破运营极限!)]resp=requests.get(url,params=params)data=resp.json()ifdata.get("errcode")==0:returndata["access_token"]raiseException(f"获取token失败:{data}")TOKEN=get_wxwork_token("企业ID","应用Secret")

二、发送应用消息

企业微信应用消息是最常用的通知方式,可以发给指定员工、部门或全员。

发送文本消息

defsend_text_message(access_token,to_users,content,to_departments=None):""" 发送文本消息 to_users: 员工userID列表,如 ["zhangsan", "lisi"],或 "@all" 发全员 to_departments: 部门ID列表,如 [1, 2, 3] """url=f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}"payload={"touser":"|".join(to_users)ifisinstance(to_users,list)elseto_users,"msgtype":"text","agentid":你的应用AgentID,# 在企业微信应用管理中查看"text":{"content":content},"safe":0# 0=普通消息 1=加密消息}![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/93ab49358e58406fbedfcdd8a385cb64.png#pic_center)ifto_departments:payload["toparty"]="|".join(str(d)fordinto_departments)resp=requests.post(url,json=payload)returnresp.json()# 给指定员工发消息result=send_text_message(TOKEN,["zhangsan","lisi"],"今日数据报告已生成,请查看共享文件夹")print(result)# 给全员发消息result=send_text_message(TOKEN,"@all","系统将于今晚22:00-23:00进行维护,请提前保存工作")

发送Markdown消息(排版更丰富)

defsend_markdown_message(access_token,to_users,markdown_content):"""发送Markdown格式消息,支持标题、加粗、列表、链接"""url=f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}"payload={"touser":"|".join(to_users)ifisinstance(to_users,list)elseto_users,"msgtype":"markdown","agentid":你的AgentID,"markdown":{"content":markdown_content}}resp=requests.post(url,json=payload)returnresp.json()# 发送格式化日报daily_report="""# 📊 今日销售日报 **统计日期**:2024-01-15 | 指标 | 今日 | 昨日 | 环比 | |------|------|------|------| | 销售额 | 98,000元 | 85,000元 | ↑15.3% | | 订单数 | 156笔 | 142笔 | ↑9.9% | | 新客户 | 23人 | 18人 | ↑27.8% | **重点关注**: > 华东区销售额今日超额完成目标,表现突出 [查看完整报告](https://docs.qq.com/xxxxx)"""send_markdown_message(TOKEN,["sales_manager"],daily_report)

发送卡片消息(图文卡片)

defsend_card_message(access_token,to_users,title,description,url,button_text="查看详情"):"""发送图文卡片消息,点击可跳转链接"""api_url=f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={access_token}"payload={"touser":"|".join(to_users)ifisinstance(to_users,list)elseto_users,"msgtype":"textcard","agentid":你的AgentID,"textcard":{"title":title,"description":description,"url":url,"btntxt":button_text}}resp=requests.post(api_url,json=payload)returnresp.json()send_card_message(TOKEN,["hr_manager"],"📋 待处理:新员工入职申请","姓名:张三\n部门:技术部\n入职日期:2024-01-20\n请在系统中完成入职手续","https://oa.company.com/onboarding/123")

三、获取部门与员工数据

获取部门架构

defget_departments(access_token):"""获取所有部门列表"""url=f"https://qyapi.weixin.qq.com/cgi-bin/department/list?access_token={access_token}"resp=requests.get(url)data=resp.json()ifdata.get("errcode")==0:returndata.get("department",[])raiseException(f"获取部门失败:{data}")departments=get_departments(TOKEN)fordeptindepartments:print(f"部门ID:{dept['id']}名称:{dept['name']}上级:{dept.get('parentid')}")

获取部门员工列表

defget_department_users(access_token,department_id,fetch_child=True):""" 获取指定部门的员工详细信息 fetch_child: True=递归获取子部门员工 """url=f"https://qyapi.weixin.qq.com/cgi-bin/user/list?access_token={access_token}"params={"department_id":department_id,"fetch_child":1iffetch_childelse0}resp=requests.get(url,params=params)data=resp.json()ifdata.get("errcode")==0:returndata.get("userlist",[])raiseException(f"获取员工失败:{data}")# 获取全公司员工(从根部门1开始)all_users=get_department_users(TOKEN,department_id=1,fetch_child=True)print(f"全公司共{len(all_users)}名员工")# 保存员工花名册importopenpyxl wb=openpyxl.Workbook()ws=wb.active ws.append(["员工ID","姓名","手机","邮箱","部门","职位","是否在职"])foruserinall_users:ws.append([user.get("userid"),user.get("name"),user.get("mobile"),user.get("email"),"|".join(str(d)fordinuser.get("department",[])),user.get("position"),"是"ifuser.get("enable")==1else"否"])wb.save("企业员工花名册.xlsx")

四、实战案例:生日祝福自动发送

场景:每天早上8点,自动给当天生日的员工发送生日祝福。

importdatetimeimportopenpyxldefcheck_and_send_birthday_wishes(access_token):"""检查今日生日员工并发送祝福"""today=datetime.date.today()month_day=(today.month,today.day)# 从花名册读取生日信息(需要提前维护生日字段)wb=openpyxl.load_workbook("员工生日信息.xlsx")ws=wb.active birthday_users=[]forrowinws.iter_rows(min_row=2,values_only=True):user_id,name,birthday_str=row[0],row[1],row[2]ifbirthday_str:try:birthday=datetime.datetime.strptime(str(birthday_str),"%Y-%m-%d").date()if(birthday.month,birthday.day)==month_day:birthday_users.append({"user_id":user_id,"name":name})except:passifnotbirthday_users:print("今天没有生日员工")returnforuserinbirthday_users:message=f"🎂{user['name']}生日快乐!\n\n感谢您一路以来的付出和努力,祝您在新的一岁里事事顺心、工作愉快!\n\n——来自公司全体同仁"result=send_text_message(access_token,[user["user_id"]],message)print(f"已向{user['name']}发送生日祝福:{result}")check_and_send_birthday_wishes(TOKEN)

temu店群自动化报活动案例

五、企业微信群机器人(无需API权限)

不需要任何开发权限,直接在企业微信群里添加群机器人:

defsend_wxwork_robot_message(webhook_url,message_type,**kwargs):""" 通过企业微信群机器人发送消息 无需任何API权限,只需群机器人Webhook URL """payload={"msgtype":message_type}ifmessage_type=="text":payload["text"]={"content":kwargs.get("content")}mentioned=kwargs.get("mentioned_list",[])ifmentioned:payload["text"]["mentioned_list"]=mentionedelifmessage_type=="markdown":payload["markdown"]={"content":kwargs.get("content")}elifmessage_type=="news":payload["news"]={"articles":kwargs.get("articles",[])}resp=requests.post(webhook_url,json=payload)returnresp.json()ROBOT_WEBHOOK="https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=你的key"# 发送@所有人的紧急通知send_wxwork_robot_message(ROBOT_WEBHOOK,"text",content="⚠️ 紧急通知:生产环境出现异常,请相关人员立即登录处理!",mentioned_list=["@all"])

六、踩坑记录

坑1:消息发送频率限制
应用消息每个企业每天最多发送200条(部分版本有更高限额)。超出会报错43501。批量发消息时要合并到一次调用:"touser": "zhangsan|lisi|wangwu"而不是多次调用。

坑2:员工userID大小写敏感
企业微信的userid是大小写不敏感的,但建议统一小写处理,避免出现一个人被发两次的情况。

坑3:获取员工列表需要通讯录权限
获取员工详细信息(含手机号)需要在企业微信后台给应用开通"通讯录权限"。如果只是发消息,不需要这个权限。

坑4:群机器人每分钟限20条
群机器人Webhook每分钟最多发20条消息,同一内容1分钟内只能发1次(防刷)。批量推送要加delay。


总结

企业微信自动化的核心价值:替代人工发通知、自动同步员工数据、定时推送数据报告。能用应用消息的场景用应用消息(到个人),需要群通知的用群机器人Webhook(简单稳定)。

署名:林焱

相关新闻

  • Samba 共享文件夹权限与路径双重验证:从 `ls -l` 到 `testparm` 的完整流程
  • AI降噪模型部署实战:移动端RNNoise 1.0量化,模型体积压缩至1MB以内
  • Pandas多维聚合实战:银行风控中的跨维度滚动计算

最新新闻

  • 2026年7月最新乌鲁木齐芝柏官方售后联系电话与客户服务中心网点地址 - 亨得利官方服务中心
  • 2.4G天线性能对比:PCB/芯片/导线3类天线实测与5大关键参数解析
  • 终极视频下载解决方案:VideoDownloadHelper开源浏览器插件深度指南
  • Python仪表盘选型实战:Dash、Streamlit与Panel深度对比
  • 为什么一体机比传统电脑更适合商用场景?
  • RACECAR+Jetson Nano的ROS Melodic嵌入式安装实战

日新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

周新闻

  • IX9104 PCIe5.0 高速交换芯片@ACP#完整规格 + 应用场景总结
  • Unity游戏集成Coze智能体:实现NPC智能对话与知识库联动
  • SAP EPIC 建行回单查询:从标准类CL_EPIC_EXAMPLE_CN_CCB_GHTD到Z类的5处关键修改

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号