关于微信小程序订阅的那些事

由于项目要接微信订阅消息推送,前端搞好之后,后端按照官方文档写了代码,发现推送一直不成功,太苦恼了,一直报:

argument invalid! data.character_string4.value i ...

查看了官方文档(传送门),也没发现错误

$data = array(
            'character_string4' => "SF123123",
            'thing7' => "123".time(),
            'date5' => date('Y-m-d H:i:s', time()),
            'thing19' => '购买的商品信息',
        );

一开始的data数据

网上找了一下发现原来少value,这个怎么说呢…

$data = array(
            'character_string4' => array("value"=>"SF123123"),
            'thing7' => array("value"=>"123".time()),
            'date5' => array("value"=>date('Y-m-d H:i:s', time())),
            'thing19' => array("value"=>'购买的商品信息'),
        );

修改后的

修改后重新测试,返回ok,发送成

成功接收到推送

下面贴一下代码,尽管有的框架已经有这样的功能了

        $data = array(
            'character_string4' => array("value"=>"SF123123"),
            'thing7' => array("value"=>"123".time()),
            'date5' => array("value"=>date('Y-m-d H:i:s', time())),
            'thing19' => array("value"=>'购买的商品信息'),
        );

        $page = '这个是跳小程序页面的地址';

        $access_token = "你的access_token";

        $url = 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=' . $access_token;
        $post_data = array(
            "touser" => $openid, // 这个是用户的openid
            "template_id" => $tempCode, // 这个是模板id
            "page" => $page,
            "miniprogram_state" => 'trial', // 跳转小程序类型:developer为开发版;trial为体验版;formal为正式版;默认为正式版
            "data" => $data
        );
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_HEADER, 0);
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($post_data));
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
        $rs = curl_exec($ch);
        curl_close($ch);
        $jsondecode = json_decode($rs, true);
        if ($jsondecode['errcode'] == 0) {
            return $jsondecode['errmsg'];
        } else {
            return 'code:'.$jsondecode['errcode'].'   '.$jsondecode['errmsg'];
        }

PS: emm…今天又去看文档发现官方文档写了这个问题..我这个眼啊!!!!!!!腾讯的文档还是不错的,相对于阿里的文档虽然不那么详细,但还是蛮不错的

本博客所有文章如无特别注明均为原创。作者:止语复制或转载请以超链接形式注明转自 止语-编程学习分享
原文地址《关于微信小程序订阅的那些事

相关推荐

发表评论

路人甲
看不清楚?点图切换

网友评论(2)

非常不错的文章 谢谢站长分享!
跨境电商运营 2个月前 (2021-05-14) 回复
博客很棒 值得分享
招投标 5个月前 (2021-02-23) 回复