当前位置:网站首页>微信公众号发送模板消息
微信公众号发送模板消息
2022-07-06 17:31:00 【小Hier】
第一步获取token
//公众号获取 token
public function getGzhAccessToken_wx($appId,$appSecret){
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appId}&secret={$appSecret}";
$html = file_get_contents($url);
$output = json_decode($html,true);
$access_token = $output['access_token'];
return $access_token;
}
第二步获取所有关注的用户openid列表,存入数据表
//获取所有用户openid
public function getUserList($token){
$url="https://api.weixin.qq.com/cgi-bin/user/get?access_token={$token}&next_openid=";
$html = file_get_contents($url);
$data = json_decode($html,true);
return $data;
}
第三步通过openid获取用户基本信息
//获取用户基本信息
public function getUserInfo($token,$openid){
$url="https://api.weixin.qq.com/cgi-bin/user/info?access_token={$token}&openid={$openid}&lang=zh_CN";
$html = file_get_contents($url);
$data = json_decode($html,true);
return $data;
}
第四步发送模板消息
public function sendUser($token){
$data=[
"touser"=>'oXhpA1UWjrvMost8kdAuiHIZUomA', //对方的openid,前一步获取
"template_id"=>"Gphar4zkxFMSvdOJ-Hx6UvbnCaM_viZiBUIZTcH5tRU", //模板id
// "miniprogram"=>["appid"=>"wxd35c1649beb11bba", //跳转小程序appid
// "pagepath"=>"pages/index/nindex/main"
// ],//跳转小程序页面
"data"=>[
"first"=>[
"value"=> "测试信息", //自定义参数
"color"=> '#173177'//自定义颜色
],
"keyword1"=>[
"value"=>'车美佳', //自定义参数
"color"=> '#173177'//自定义颜色
],
"keyword2"=>[
"value"=> date('Y-m-d H:i:s'), //自定义参数
"color"=> '#173177'//自定义颜色
],
"remark"=>[
"value"=> "如有变动,请主动联系用户", //自定义参数
"color"=> '#173177'//自定义颜色
],
]
];
$gzh_url="https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=".$token;
$res=json_decode($this->curl_post_wx($gzh_url,json_encode($data)),true);
return $res;
}
/**
* @param $url
* @param array $data
* @return mixed
* curl请求
*/
public function curl_post_wx($url , $data=array()){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$tmpInfo = curl_exec($ch);
if (curl_errno($ch)) {
return false;
}else{
return $tmpInfo;
}
}
发送成功如下图
边栏推荐
- 斗地主游戏的案例开发
- Link sharing of STM32 development materials
- Build your own website (17)
- 深入探索编译插桩技术(四、ASM 探秘)
- 自旋与sleep的区别
- "Exquisite store manager" youth entrepreneurship incubation camp - the first phase of Shunde market has been successfully completed!
- from . cv2 import * ImportError: libGL. so. 1: cannot open shared object file: No such file or direc
- Receive user input, height BMI, BMI detection small business entry case
- [100 cases of JVM tuning practice] 05 - Method area tuning practice (Part 2)
- Install Firefox browser on raspberry pie /arm device
猜你喜欢
[100 cases of JVM tuning practice] 04 - Method area tuning practice (Part 1)
[Niuke] [noip2015] jumping stone
ESP Arduino (IV) PWM waveform control output
第六篇,STM32脉冲宽度调制(PWM)编程
JTAG debugging experience of arm bare board debugging
Explain in detail the matrix normalization function normalize() of OpenCV [norm or value range of the scoped matrix (normalization)], and attach norm_ Example code in the case of minmax
资产安全问题或制约加密行业发展 风控+合规成为平台破局关键
View remote test data and records anytime, anywhere -- ipehub2 and ipemotion app
[batch dos-cmd command - summary and summary] - jump, cycle, condition commands (goto, errorlevel, if, for [read, segment, extract string]), CMD command error summary, CMD error
Deeply explore the compilation and pile insertion technology (IV. ASM exploration)
随机推荐
SuperSocket 1.6 创建一个简易的报文长度在头部的Socket服务器
View remote test data and records anytime, anywhere -- ipehub2 and ipemotion app
ARM裸板调试之JTAG原理
Force buckle 1037 Effective boomerang
Boot - Prometheus push gateway use
Implementation principle of waitgroup in golang
Let's talk about 15 data source websites I often use
自旋与sleep的区别
Your cache folder contains root-owned files, due to a bug in npm ERR! previous versions of npm which
筑梦数字时代,城链科技战略峰会西安站顺利落幕
深度学习简史(一)
tensorflow 1.14指定gpu运行设置
Tencent cloud webshell experience
实现mysql与ES的增量数据同步
ARM裸板调试之JTAG调试体验
Provincial and urban level three coordinate boundary data CSV to JSON
Link sharing of STM32 development materials
Windows installation mysql8 (5 minutes)
Lldp compatible CDP function configuration
Telerik UI 2022 R2 SP1 Retail-Not Crack