调用高级群发接口:
1. 调用根据分组进行群发,返回错误代码:errcode:40008,errmsg:invalid message type
错误原因:HTTP请求提交的数据未进过JSON编码,注意下面代码中注释标明“正确和错误方式”的部分。
调用代码如下:
|
2. 调用根据OpenID列表群发,返回错误代码:errcode:40003,errmsg:invalid openid
错误原因:HTTP请求提交的数据未进过JSON编码,注意下面代码中注释标明“正确和错误方式”的部分。
调用代码如下:
<?php
class ScheduleMessage{
private $access_token;
public function __construct($access_token) {
$this->access_token = $access_token;
}
public function sentMsgToOpenId()
{
// 根据分组进行群发【订阅号与服务号认证后均可用】
// http请求方式: POST
$url = "https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=$this->access_token";
$data = array(
'touser' => 'oCECzv7gYSf4SCUrqYNPGL5JJI4M',
'msgtype' => 'text',
'text' => array(
'content' => 'this is test message with 中文!'
)
);
// JSON参数错误体检方式
// $res = json_decode($this -> httpPost($url, $data));
// JSON参数正确提交方式
$res = json_decode($this -> httpPost($url, json_encode($data, JSON_UNESCAPED_UNICODE)));
return $res;
}
private function httpPost($url, $data) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
return $res;
}
}
?>