调用高级群发接口:
1. 调用根据分组进行群发,返回错误代码:errcode:40008,errmsg:invalid message type
错误原因:HTTP请求提交的数据未进过JSON编码,注意下面代码中注释标明“正确和错误方式”的部分。
调用代码如下:
classScheduleMessage{
private$access_token;
publicfunction__construct($access_token){
$this->access_token=$access_token;
}
publicfunctionsentMsgToGroup()
{
//根据分组进行群发【订阅号与服务号认证后均可用】
//http请求方式:POST
$url="https://api./cgi-bin/message/mass/sendall?access_token=$this->access_token";
$data=array(
'filter'=>array(
'is_to_all'=>false,
'group_id'=>0
),
'msgtype'=>'text',
'text'=>array(
'content'=>'thisistestmessagewith中文!'
)
);
//JSON参数错误体检方式
//$res=json_decode($this->httpPost($url,$data));
//JSON参数正确提交方式
$res=json_decode($this->httpPost($url,json_encode($data,JSON_UNESCAPED_UNICODE)));
return$res;
}
privatefunctionhttpPost($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;
}
}
?>
2. 调用根据OpenID列表群发,返回错误代码:errcode:40003,errmsg:invalid openid
错误原因:HTTP请求提交的数据未进过JSON编码,注意下面代码中注释标明“正确和错误方式”的部分。
调用代码如下:
classScheduleMessage{
private$access_token;
publicfunction__construct($access_token){
$this->access_token=$access_token;
}
publicfunctionsentMsgToOpenId()
{
//根据分组进行群发【订阅号与服务号认证后均可用】
//http请求方式:POST
$url="https://api./cgi-bin/message/custom/send?access_token=$this->access_token";
$data=array(
'touser'=>'oCECzv7gYSf4SCUrqYNPGL5JJI4M',
'msgtype'=>'text',
'text'=>array(
'content'=>'thisistestmessagewith中文!'
)
);
//JSON参数错误体检方式
//$res=json_decode($this->httpPost($url,$data));
//JSON参数正确提交方式
$res=json_decode($this->httpPost($url,json_encode($data,JSON_UNESCAPED_UNICODE)));
return$res;
}
privatefunctionhttpPost($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;
}
}
?>