[企业公众号]升级到[企业微信]之后发送消息失败的解决方法
author:一佰互联 2019-04-26   click:262

本文实例讲述了[企业公众号]升级到[企业微信]之后发送消息失败的解决方法。分享给大家供大家参考,具体如下:

最近,看到消息,说是微信把企业公众号升级到企业微信。当时并没有在意,但是后来发现之前用企业公众号的接口来发通知消息的程序发不出去消息了。

于是,我又打开升级消息,仔细的读了一下:企业号将迁移至企业微信管理后台(work.weixin.qq.com/login)进行统一管理。之前企业公众号的管理后台地址是qy.weixin.qq.com,发不了消息难道是接口地址也变了吗。

登到新后台看了下,发现应用的Secret值变了,相比之前位数要少一些。将代码中的Secret值替换成新的之后,发现还是不行。debug看了下,在用post请求调用接口发消息的时候报错:{"errcode":-1,"errmsg":"Invalid input"}。分析原因可能有两个:调用的发消息接口地址不对了;或者,传的post参数的格式不对了。

还好,在其官网上找到了企业微信的API说明文档:https://work.weixin.qq.com/api/doc ,上面有较详细的使用说明。经确认,调用接口的url地址并没有变(发送消息还是用https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN)。但是发现文本消息的格式有点不一样,官网示例如下:

{    "touser" : "UserID1|UserID2|UserID3",    "toparty" : " PartyID1|PartyID2 ",    "totag" : " TagID1 | TagID2 ",    "msgtype" : "text",    "agentid" : 1,    "text" : {      "content" : "你的快递已到,请携带工卡前往邮件中心领取。出发前可查看<a href="http://work.weixin.qq.com">邮件中心视频实况</a>,聪明避开排队。"    }}

上面的UserID、PartyID这些应该我之前都是当数值传的,但示例上是放在引号里面的,那就是被当做字符串了。于是,我把代码也改成按字符串的方式试了下,结果可以了。。。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。