微信推送消息遇到的坑 – 返回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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 字符串常量池有什么用_字符串常量池在堆中还是方法区

    字符串常量池有什么用_字符串常量池在堆中还是方法区看网上的介绍,对于字符串常量池中到底保存的是字符串对象,还是字符串对象的引用,众说纷纭…看jdk1.8对intern()的说明.Whentheinternmethodisinvoked,ifthepoolalreadycontainsastringequaltothisStringobjectasdeterminedbytheequals(…

    2022年7月28日
    4
  • AMC7135_sip soc

    AMC7135_sip soc7.4SiamFC学习目标 目标 知道SiamFC的网络结构特点 掌握SiamFC的网络训练方式 应用 无 任意对象跟踪的问题是通过仅仅在线地学习对象外观的模型来解决,使用视频本身作为唯一的训练数据。尽管这些方法取得了成功,但他们的在线方法本质上限制了他们可以学习的模型的丰富性。需要跟踪的目标是通过起始帧的选择框给出的。框中可能是任意物体,甚至只是物体的某个部分。由于给定跟踪目标的不确定性,我们无法做到提前准备好数据,并且训练出一个.

    2022年10月1日
    2
  • 计算机病毒445端口,关闭135 445端口_445端口关闭方法_怎么防止电脑中勒索病毒「建议收藏」

    计算机病毒445端口,关闭135 445端口_445端口关闭方法_怎么防止电脑中勒索病毒「建议收藏」关闭135445端口_445端口关闭方法_怎么防止电脑中勒索病毒这几天,永恒之蓝勒索病毒迅速传播,让网友们都担惊受怕。而这种勒索病毒基本上都是通过135,137,138,139,445等端口入侵,关闭445135137138139端口是有效预防入侵的方式之一,同时更新微软最新补丁,及时备份重要数据,才能从容应对病毒侵袭,现在就快和小编一起来看看关闭135,137,138,139,44…

    2022年10月17日
    3
  • 费马小定理和费马大定理_费马小定理推论

    费马小定理和费马大定理_费马小定理推论(1)费马小定理结论:结论是若存在整数a,p且gcd(a,p)=1,即二者互为质数,则有a(p-1)≡1(modp)。(这里的≡指的是恒等于,a(p-1)≡1(modp)是指a的p-1次幂取模与1取模恒等),再进一步就是ap≡a(modp)。继续学习:中国剩余定理、拓展欧几里得(exgcd)、求除法逆元、费马小定理(2)费马大定理结论:又被称为“费马最后的定理”,常见的表述为当整数n>2时,关于xn+yn=zn的方程没有正整数解。当n=0时,实数范围只有x=0,y

    2025年8月1日
    4
  • 群晖3617可以有几个网卡_解决黑群辉使用的几个问题

    群晖3617可以有几个网卡_解决黑群辉使用的几个问题本文帮助黑群辉刚上手的人,默认已经安装好黑群辉系统了哦。如果系统也还没有安装,那就要根据自己现有手上的设备搜索相应的安装教程了。相应文章很多,情况也不同,就不在这里说明了。一、启用视频缩略图和转码一般使用群辉的人肯定要用它来保存自己的照片和视频,所以这个功能一定要开启的。否则VS和photo中各种感叹号图。倒是不影响播放,但是预览和美观就很不方便了。目前最完美的解决方案是半洗白,可以开启视频缩略图…

    2022年5月6日
    246
  • 聚类算法(4)–Hierarchical clustering层次聚类

    聚类算法(4)–Hierarchical clustering层次聚类目录 一、层次聚类1、层次聚类的原理及分类2、层次聚类的流程3、层次聚类的优缺点二、python实现1、sklearn实现2、scipy实现树状图分类判断一、层次聚类1、层次聚类的原理及分类1)层次法(Hierarchicalmethods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个…

    2025年8月15日
    2

发表回复

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

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