收藏
回答

微信公众号的模板消息推送报错47001,应该怎么解决?

这是代码原图

这是post发送的数据

按照公众号开发文档写的

这是报错代码,并没有发现格式有啥错误的地方,请大佬们帮忙指正一下


——————————————————————————————————————————————————

问题已经解决了,是因为发送数据的时候,用guzzle或者curl直接发送array不可以,json转码一下就行了

$token=$this->get_token();
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url.$token);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data)); // 发送 JSON 格式数据
curl_setopt($curl, CURLOPT_HTTPHEADER, array("Content-Type: application/json")); // 设置请求头为 JSON

$response = curl_exec($curl);
curl_close($curl);

这样就行了

最后一次编辑于  05-14
回答关注问题邀请回答
收藏

4 个回答

  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    05-14

    你好,提供下返回的rid

    05-14
    有用
    回复 3
    • 1164
      1164
      05-14
      66430a5a-3640f67a-746f63d8
      05-14
      回复
    • 1164
      1164
      05-14
      这是最新的rid,并且我试着rid报错查看的那个接口也是这样的报错,测试了几个post的接口,也一样,get的接口就没有问题了
      05-14
      回复
    • 社区技术运营专员--许涛
      社区技术运营专员--许涛
      05-14回复1164
      根据日志获取的请求包,JSON错误


      touser=oEMRn6i8LtcX7vhY5X9XixXU-yUc&template_id=ksOYmlZGZhuZA89IobEZtritO1ZlIZfh8QMIQMjxyKw&data%5Bthing3.DATA%5D%5Bvalue%5D=%E6%B5%8B%E8%AF%95%E6%B6%88%E6%81%AF&data%5Bamount8.DATA%5D%5Bvalue%5D=0.01%E5%85%83&data%5Bthing9.DATA%5D%5Bvalue%5D=%E6%B2%88%E9%98%B3%E7%91%9E%E5%90%8C%E7%A7%91%E6%8A%80%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8&data%5Btime5.DATA%5D%5Bvalue%5D=2024-05-10%7E2025-05-10
      05-14
      回复
  • 哄哄
    哄哄
    05-14

    1.你appid位置就不对

    05-14
    有用 1
    回复 1
    • 1164
      1164
      05-14
      我看miniprogram是跳转小程序时候需要加的,我没有跳转小程序的需求,所以没有填,但是后来又看文档里写appid是必填项,没有传appid参数的时候也是这个报错,后来我测试把appid参数填上,也是这个报错
      05-14
      回复
  • Mr.Zhao
    Mr.Zhao
    发表于移动端
    05-14
    不用加.DATA
    05-14
    有用
    回复
  • 风清雾云开见日出
    风清雾云开见日出
    05-14

    最好把你的post请求包后面的参数完整发出来

    05-14
    有用
    回复 13
    查看更多(8)
登录 后发表内容