微信公众平台发送客服消息 invalid openID错误 errcode:40003

本文探讨了因不当格式化导致的invalidopenID错误,并对比了两种JSON数据组装方法。一种直接使用类似于字符串的方式,另一种则利用json_encode函数。文章详细解释了问题根源,并提供了解决方案,包括推荐使用json_encode及如何处理内容中的Unicode问题。
部署运行你感兴趣的模型镜像

你可以看一下你的组装JSON的代码,肯定是直接用的类似于这样的形式:


"touser": $openID

如果你试过用json_encode的话,你会发现这样是不会报invalid openID错误的。


我们可以把两种方式组装的数据打印出来比较一下:


string(104) "{"touser":"xxxxxxx","msgtype":"text","text":{"content":"xxx"}}"()


string(173) "{

     'touser':xxxxxxx,

     'msgtype':'text',

     'text':

     {

          'content':xxx

     }

}"

显然,后者的"openID"并没有被双引号包含,这就是invalid openID报错的原因。

有两种方法可以解决,第一是用   \"$openID\"  的形式来组装数据,但是并不提倡这么做。


还有就是使用json_encode组装数组数据,但是用过的人可能会发现content里的汉字都会被换成unicode字符,解决办法是网上找一个ch_json_encode()方法,可以完美解决!


原创!手打!

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值