[企业公众号]升级到[企业微信]之后发送消息失败的解决方法

yipeiwu_com5年前PHP代码库

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

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

于是,我又打开升级消息,仔细的读了一下:企业号将迁移至企业微信管理后台(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" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"
    }
}

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

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

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

相关文章

PHP中创建和验证哈希的简单方法实探

 PHP 5.5.0 带来了一份完整的全新特性与函数的列表。全新API之一就是Password Hashing API.它包含4个函数:password_get_info(),...

Ubuntu中支持PHP5与PHP7双版本的简单实现

前言 最近在编写一个工具的时候,使用了PHP命名空间特性,在命名空间中如果想引用常量、函数,需要PHP5.6以上的版本,但我阿里云 ECS 上安装的版本是PHP 5.5.9,由于 ECS...

两个开源的Php输出Excel文件类

1.php-excel php-excel is a very simple library for generating excel documents from php on-the...

允许phpmyadmin空密码登录的配置方法

这是因为默认phpmyadmin空密码登录是被禁止的,如果想要phpmyadmin空密码允许登录,就需要修改phpmyadmin相关配置。 在phpmyadmin3安装配置图解教程一文中...

PHP中去除换行解决办法小结(PHP_EOL)

第一种写法: $content=str_replace("\n","",$content); echo $content; 第二种写法: str_replace("\r\n","",$s...