PHP语言编写的微信一次性订阅消息

来源:互联网 发布:淘宝双11外围有效果吗 编辑:程序博客网 时间:2024/05/29 02:53
<?php
$appid='appid';
$secret='secret';
$access_tokenurl="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appid."&secret=".$secret;
$access_tokenres=https_request($access_tokenurl);
$ACCESS_TOKEN=substr($access_tokenres,17,138); //因为懒得去转成PHP数组所以直接截取字符串
$openId=$_GET['openid']; //因为是从其他页面传过来的所以用GET的方法接受,当然你也可以麻烦点自己写成POST方法比较安全
$template_id=$_GET['template_id']; //因为是从其他页面传过来的所以用GET的方法接受,当然你也可以麻烦点自己写成POST方法比较安全
$action=$_GET['action']; //因为是从其他页面传过来的所以用GET的方法接受,当然你也可以麻烦点自己写成POST方法比较安全
$scene=$_GET['scene']; //因为是从其他页面传过来的所以用GET的方法接受,当然你也可以麻烦点自己写成POST方法比较安全
$openIds = strval($openId); //把 $openId 转化为字符串
$data=array( 
'touser'=>"$openIds", //要发送给用户的openId
'template_id'=>"$template_id",//改成自己的模板id,在微信接口权限里一次性订阅消息的查看模板id
'url'=>"自己网站链接url ", //自己网站链接url 
'scene'=>"$scene",
'title'=>"title", //标题
'data'=>array(
'content'=>array(
'value'=>"value",
'color'=>"color"
)
)
);
$json_data=json_encode($data);//转化成json数组让微信可以接收
$url="https://api.weixin.qq.com/cgi-bin/message/template/subscribe?access_token=".$ACCESS_TOKEN;//模板消息请求URL
$res=https_request($url,urldecode($json_data));//请求开始
$res=json_decode($res,true);
if($res['errcode']==0 && $res['errmsg']=="ok"){
echo "发送成功!";
}
//curl请求函数,微信都是通过该函数请求
function https_request($url,$data = null){
$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);
$output = curl_exec($curl);
curl_close($curl);
return $output;
}

?>

微信官方开发文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1500374289_66bvB