Home >WeChat Applet >Mini Program Development >What is the reason for WeChat applet error code 47001?

What is the reason for WeChat applet error code 47001?

尚
Original
2020-03-26 15:30:419620browse

What is the reason for WeChat applet error code 47001?

The 47001 error in the WeChat applet is caused by the incorrect format.

Solution to 47001 data format error in WeChat applet:

Look at the error:

What is the reason for WeChat applet error code 47001?

The main reason is that the requested data is not json caused by the format.

Share the code and functions I used:

Send template message

public function sendmessage(){
$data=$_POST=json_decode(file_get_contents('php://input'), TRUE);
$access_token=$this->getAccessToken();
$request_url='https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token='.$access_token;
$request_data=array(
 'touser'=>$data['touser'],//接收者(用户)的 openid
 'template_id'=>$data['template_id'],//所需下发的模板消息的id
 'page'=>$data['page'],//点击模板卡片后的跳转页面
 'form_id'=>$data['form_id'],//表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id
 'data'=>$data['data'],//"keyword1": {"value": "339208499", "color": "#173177"}
 'emphasis_keyword'=>$data['emphasis_keyword']//模板需要放大的关键词,不填则默认无放大
);
$return=json_decode(https_request($request_url,$request_data,'json'),true);
$this->response($return,'json');
}

Send request

function https_request($url,$data,$type){
 if($type=='json'){//json $_POST=json_decode(file_get_contents('php://input'), TRUE);
 $headers = array("Content-type: application/json;charset=UTF-8","Accept: application/json","Cache-Control: no-cache", "Pragma: no-cache");
 $data=json_encode($data);
 }
 $curl = curl_init();
 curl_setopt($curl, CURLOPT_URL, $url);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
 if (!empty($data)){
 curl_setopt($curl, CURLOPT_POST, 1);
 curl_setopt($curl, CURLOPT_POSTFIELDS,$data);
 }
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers ); 
 $output = curl_exec($curl);
 curl_close($curl);
 return $output;
}

Recommended: " Mini Program Development Tutorial

The above is the detailed content of What is the reason for WeChat applet error code 47001?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn