万邑通 签名失败,请检查Token是否正确、收件人信息中是否含有特殊字符,并且使用UTF-8编码.app_key:

博客内容涉及到万邑通API在使用过程中遇到的签名失败问题,原因可能是应用授权限制。新应用无法给自己授权,万邑通正在排查问题。建议检查Token正确性、收件人信息是否有特殊字符,确保使用UTF-8编码。

万邑通 签名失败

Array ( [code] => 400000 [msg] => 签名失败,请检查Token是否正确、收件人信息中是否含有特殊字符,并且使用UTF-8编码.app_key:【XXXXXXXXXX】在【Tue Oct 05 15:02:58 CST 2021】已被更新,请登录万邑联-个人中心-系统设置-获取token查看最新的token [data] =>

原因是 自己新建的应用不能给自己授权,具体万邑通还在排查

1 #!/usr/bin/env python3 2 import requests 3 import sys 4 import json 5 import datetime 6 7 # 企业微信配置 8 CORPID = "ww3eb16336907db716" 9 CORPSECRET = "aJG5QXaSj0LZ__fiTgHPGO5OqSyXx0tvdIV5zc-9z44" 10 AGENTID = 1000005 11 TOUSER = "tmm|lili|WuMinTian" # 固定接收者 12 13 def get_wx_token(): 14 """ 15 获取企业微信access_token 16 :return: token字符串,获取失败返回None 17 """ 18 try: 19 token_url = f"https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={CORPID}&corpsecret={CORPSECRET}" 20 response = requests.post(token_url, timeout=10) 21 22 if response.status_code == 200: 23 json_data = response.json() 24 if 'access_token' in json_data: 25 token = json_data['access_token'] 26 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - Token获取成功") 27 return token 28 else: 29 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - Token获取失败: {json_data}") 30 return None 31 except Exception as e: 32 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 获取Token异常: {str(e)}") 33 return None 34 35 def send_wx_msg(content, title=None): 36 """ 37 发送企业微信消息 38 :param content: 消息内容 39 :param title: 消息标题(可选) 40 :return: 是否发送成功 41 """ 42 try: 43 # 获取token 44 token = get_wx_token() 45 if not token: 46 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 无法获取token,消息发送失败") 47 return False 48 49 url = f"https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token={token}" 50 51 # 构建消息内容 52 message_content = f"{title if title else '系统知'}\n\n{content}" 53 54 # 构建文本消息 55 data = { 56 "touser": TOUSER, 57 "msgtype": "text", 58 "agentid": AGENTID, 59 "text": { 60 "content": message_content 61 } 62 } 63 64 response = requests.post(url, json=data, timeout=10) 65 66 if response.status_code == 200: 67 json_data = response.json() 68 if json_data.get('errcode') == 0: 69 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 企业微信消息发送成功") 70 return True 71 else: 72 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 企业微信消息发送失败,错误码: {json_data.get('errcode')}") 73 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 错误信息: {json_data.get('errmsg')}") 74 except Exception as e: 75 print(f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')} - 发生异常: {str(e)}") 76 return False 77 78 if __name__ == '__main__': 79 message = sys.argv[1] 80 title = sys.argv[2] if len(sys.argv) > 2 else None 81 send_wx_msg(message, title) 豆包,这个是用在Zabbix中媒介的脚本,触发器动作想要把告警发出去,需要过用户,但是用户没有配置收件人信息,这个脚本里面有地址信息吗?
07-18
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值