微信推送消息遇到的坑 – 返回error code 40008,并且发送不成功[通俗易懂]

微信推送消息遇到的坑 – 返回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我感觉腾讯并没有把这个errorcode做得很细,反之,非常笼统,让你看到这个err不知所措不晓得到底啥问题。我这边要用微信接收系统发出来的alert,比如哪个服务器cpu负荷…

大家好,又见面了,我是你们的朋友全栈君。

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": 0,
   "enable_duplicate_check": 0,
}

但是这个json对象,直接用python的requset发送过去,不管我怎么改,它就是不对,永远40008。。

然后我用postman调试,生成例子代码,发现在发送之前,这个json对象被转义成纯文本了。。。

所以我这边在发送之前,对它做个json.dump()的操作就可以了:

def sendWechatAlertMsg(alert):
    token = getWechatToken()
    url = getWechatAPIURL()

    querystring = {'access_token': token}
    payload = {
        "touser": "somebody",
        "msgtype": "text",
        "agentid": "123456789",
        "text": {
            "content": "You jump, I jump, we all jump, you all family jump!!!",
        },
        "safe": 0,
        "enable_id_trans": 0,
        "enable_duplicate_check": 0,
    }
    headers = {
        'cache-control': 'no-cache'
    }


    # 这里加一个   json.dumps()就可以了。
    response = requests.request(
        'POST', url, data=json.dumps(payload), headers=headers, params=querystring)
    
    if response.json().get('errcode') > 0:
        logger.error('failed send to wechat, err msg: ' +
                     response.json().get('errmsg'))
        return False
    else:
        logger.error('successfully sent to weChat')
        return True

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132689.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号