微信推送消息遇到的坑 - 返回error code 40008,并且发送不成功

api 文档就是这里啦。

https://work.weixin.qq.com/api/doc#90000/90135/90236/%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF

 

我感觉腾讯并没有把这个error code做得很细,反之,非常笼统,让你看到这个err不知所措不晓得到底啥问题。


我这边要用微信接收系统发出来的alert,比如哪个服务器cpu负荷高,io高,啥的。。对吧。很自然,看到腾讯的大神们提供的例子如下,很明显怎么使用,这都不用说。

query_string = 
{
   "touser" : "UserID1|UserID2|UserID3",
   "toparty" : "PartyID1|PartyID2",
   "totag" : "TagID1 | TagID2",
   "msgtype" : "text",
   "agentid" : 1,
   "text" : {
       "content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
   },
   "safe":0,
   "enable_id_trans&#
### 企业微信机器人 API 推送消息教程 #### 创建企业微信机器人 为了能够利用企业微信机器人发送消息,首先需要创建一个企业微信机器人。这涉及到几个主要步骤: - **注册企业微信并进入后台**:确保已经拥有一个企业微信号,并登录到管理后台[^1]。 - **获取企业微信应用的API凭证**:在完成上述操作之后,在企业微信的应用市场找到“自建”选项卡下的“群机器人”,点击添加后会获得一个唯一的`key`用于后续的消息推送请求认证。 #### 准备工作 一旦拥有了合法有效的`key`,就可以准备向指定的企业微信群聊中发送消息了。这里以Python为例展示基本流程: ```python import requests from typing import Dict, Any def send_wechat_robot_message(webhook_url: str, content: str) -> None: """ 发送文本消息给企业微信机器人 :param webhook_url: WebHook URL 地址 :param content: 待发送的内容字符串 """ headers = {'Content-Type': 'application/json'} data: Dict[str, Any] = { "msgtype": "text", "text": {"content": content} } response = requests.post(url=webhook_url, json=data, headers=headers) if not (response.status_code == 200 and response.json().get('errmsg') == 'ok'): raise Exception(f"Failed to post message {content}, error info:{response.text}") ``` 这段代码定义了一个名为 `send_wechat_robot_message()` 的函数来封装发送过程中的细节处理逻辑。它接受两个参数——WebHook URL 和要发送的信息正文作为输入;构建好HTTP POST 请求体后执行实际的数据提交动作;最后检查服务器端返回的状态码以及错误描述字段(`errmsg`) 来判断整个交互是否成功结束[^2]。 对于更复杂的需求场景,如Markdown格式化、上传附件等,则需参照官方文档调整相应的负载结构[^3]。 #### 实际案例分析 假设现在有一个监控系统Zabbix想要集成企业微信的通知机制,那么可以根据之前提到的方法稍作改动即可满足需求。具体来说就是当触发特定条件时(例如主机宕机),将报警详情构造成合适形式并通过调用上面给出的服务接口传递出去。 另外值得注意的是,在某些情况下可能还会遇到跨平台部署的问题,这时就需要考虑同环境中变量读取方式的区别,比如通过环境变量加载敏感信息而是硬编码在源文件里。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值