微信公众号实现无限制推送模板消息!可向指定openID群发
微信认证的服务号才有推送模板消息接口
所以本文需要在认证服务号的情况下学习
以上就是模板消息,只有文字和跳转链接,没有封面图。
在服务号的后台添加功能插件-模板消息即可。
模板消息,都是在后台选择一个群发模板的,然后获取模板ID,根据这个模板,定义参数即可。
本案例需要获取ACCESS_TOKEN
获取ACCESS_TOKEN其实很简单
开发文档已经给出了获取ACCESS_TOKEN的api
https://api.weixin.qq.com/cgi...
然后访问替换后的链接就会返回一串JSON格式的数据里面就有ACCESS_TOKEN
当然ACCESS_TOKEN是会过期的
自己需要整合这个api自动获取
我们学习过程中做测试可以直接获取粘贴上去。
当然调用这个接口需要配置IP白名单
如果获取过程中出现一串英文,里面有IP地址,就说明你还没配置IP白名单
你需要进入公众号后台安全中心-IP白名单-粘贴提示的IP地址即可
如果你要给指定的openID群发模板消息
例如你公司做教育培训服务的
有3个学生报了你们公司的某课程培训班
你需要在上课前15分钟主动向每个学生的微信推送模板消息通知上课
那么这三个学生需要关注你的服务号
你还要获取到这三个学生的openID
然后存入数组中,遍历数组发送即可。
获取openID的方法
1、配置回调域名
进入公众号,接口权限,找到网页服务,网页获取用户基本信息
进去修改你的域名即可
新建oauth.php
<?php
//获取微信access_token
function getaccess_token(){
$code = $_GET['code'];
$appid = '自己的appid';
$appsecret = '自己的appsecret';
$url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid={$appid}&secret={$appsecret}&code={$code}&grant_type=authorization_code";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
}
getaccess_token();
配置用户要访问的网页
https://open.weixin.qq.com/co...
REDIRECT_URI是回调链接
就是上面的oauth.php的地址
例如你的域名是
www.baidu.com
你把oauth.php上传到根目录
那么URL转码的回调链接就是
http://www.baidu.com/oauth.php
回调链接需要URL转码
给大家提供一个转码工具
http://tool.oschina.net/encod...
最终的回调链接是
http%3A%2F%2Fwww.baidu.com%2Foauth.php
例如的你APPID是:wx66666666666666
整个用户要访问的网页就是
https://open.weixin.qq.com/co...://www.baidu.com/oauth.php&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
用户访问的网页也需要URL转码
最终的网址是:
https%3A%2F%2Fopen.weixin.qq.com%2Fconnect%2Foauth2%2Fauthorize%3Fappid%3Dwx66666666666666%26redirect_uri%3Dhttp%3A%2F%2Fwww.baidu.com%2Foauth.php%26response_type%3Dcode%26scope%3DSCOPE%26state%3DSTATE%23wechat_redirect
然后用微信访问上面的最终的网址,就会返回一串JSON数据,里面有openid
要想获得3个学生的openid那么就要这三个学生点进去,获取发给你
下面就是模板消息推送给指定的openid的代码
我就以这三个学生的openid为例
<?php
$ACCESS_TOKEN = "替换你的ACCESS_TOKEN";//ACCESS_TOKEN
//openid数组
$touser = [
'ouD7BuHpIKRXPIz7pdrwI9IwDRCU',
'ouD7BuI36wSUZgteyiydmDrldQLU',
'ouD7BuLejq7R4Vbuyh41bH778cg0'];
//模板消息请求URL
$url = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" . $ACCESS_TOKEN;
//遍历发送微信消息
foreach ($touser as $value) {
$data = getDataArray($value);
$json_data = json_encode($data);//转化成json数组让微信可以接收
$res = https_request($url, urldecode($json_data));//请求开始
$res = json_decode($res, true);
if ($res['errcode'] == 0 && $res['errcode'] == "ok") {
echo "发送成功!<br/>";
}
}
//获取发送数据数组
function getDataArray($value)
{
$data = array(
'touser' => $value, //要发送给用户的openid
'template_id' => "mfopDNUlvoBGGsPLB-d_nrfL8Je92xnTq5vk5ZBxL-w",//改成自己的模板id,在微信后台模板消息里查看
'url' => "http://mp.weixin.qq.com/s/8UWPqHVa8PReWZp-No0ebA", //自己网站链接url
'data' => array(
'first' => array(
'value' => "亲爱的同学,您有考试提醒,请查阅。",
'color' => "#000"
),
'keyword1' => array(
'value' => "2017下半年教师资格证面试",
'color' => "#f00"
),
'keyword2' => array(
'value' => "2018-1-6",
'color' => "#173177"
),
'keyword3' => array(
'value' => "请看您的准考证",
'color' => "#3d3d3d"
),
'keyword4' => array(
'value' => "教师资格证试讲",
'color' => "#3d3d3d"
),
'keyword5' => array(
'value' => "答辩,选题,结构化",
'color' => "#3d3d3d"
),
'remark' => array(
'value' => "\n现在是打印准考证时间,请您在考试前打印准考证,戳进来可以查看详情>>>",
'color' => "#3d3d3d"
),
)
);
return $data;
}
//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;
}
?>
新建test.php
拷贝代码
修改你的
ACCESS_TOKEN
修改你的学生的3个openid
修改你的模板ID
模板ID是什么?
就是你要推送的那个卡片的模板
例如支付成功模板,上课通知模板,发货模板....
当然代码我觉得你们看得懂的!
只要修改模板里面的自定义参数
然后确保ACCESS_TOKEN还在有效期内
访问test.php
你这三个学生就会同时收到推送的模板消息了!
一天最多推送100000条!
还可以点进去直接访问你配置的lP链接
转载请注明出处!
技术交流群请加微信:likeyunba520
微信公众号实现无限制推送模板消息!可向指定openID群发的更多相关文章
- 微信硬件平台(八) 4 ESP8266通过微信公众号给用户推送消息
https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token=自己申请微信公众号的TOKEN 输出结果: 由于aRDUINO串 ...
- C#微信公众号开发-高级接口-之模板消息开发,附源码
个人觉得模板消息功能的增加对公众号的作用非常大,可以说是真正意义上的实现了所谓的轻app,商家可以通过模板消息给用户发送重要的信息,交易.预约.消费.邮件.物流等信息.之前我做过的系统通过邮件发送订单 ...
- 微信开发之获取openid及推送模板消息
有很多的朋友再问我怎么获取code,openid之类的问题,在这里我就给大家分享一下. 在做微信支付是需要获取openid的,推送模板消息也是需要openid包括其他一些功能分享等也都是需要的,ope ...
- 微信公众号开发C#系列-7、消息管理-接收事件推送
1.概述 在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息.其中,某些事件推送在发生后,是允许 ...
- asp.net 实现微信公众平台的主动推送信息
通过学习借鉴朋友的实现方法进行整理(微信公众帐号主动发送消息给用户,asp.net版本). /// <summary> /// MD5 32位加密 /// </summary> ...
- C#微信接口之推送模板消息功能示例
本文实例讲述了C#微信接口之推送模板消息功能.分享给大家供大家参考,具体如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 2 ...
- C#微信公众号开发系列教程三(消息体签名及加解密)
http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...
- [3] 微信公众号开发 - 结合UEditor实现图文消息群发功能
0.写在前面的话 如何实现微信平台后台管理中的,图文消息发送功能? 大概的过程如下: 通过类似表单的形式,将文章各部分内容提交到后台,封装成一个实体类,并持久化到数据库中 需要推送的时候,将不同的文章 ...
- JAVA微信公众号网页开发——将接收的消息转发到微信自带的客服系统
如果公众号处于开发模式,普通微信用户向公众号发消息时,微信服务器会先将消息POST到开发者填写的url上,无法直接推送给微信自带的客服功能.如果需要把用户推送的普通消息推送到客服功能中,就需要进行代码 ...
随机推荐
- win DLL 笔记
DLL 头文件: #ifdef DLL_API #else #define DLL 导出类 class DLL_API point { public: void aaa() { } } 导出类中函数 ...
- vccode配合svn
先安装插件 要实现版本对比.需要先安装svn服务端 vue插件 微信小程序插件
- Delphi最新的路线图
没想到,官方又发布了一个路线图,同上一个相比,多了10.3.3版本,而其中,最主要的iOS 13支持,即下半年发布的新的苹果系统,再一个就是android 64的delphi支持!年底前发布,够官忙伙 ...
- Nginx----请求分发中心
Nginx请求分发中心,需要明确几个基本问题,什么是请求,分发中心是什么,为什么需要分发中心. 什么是请求? Niginx是一款高性能的HTTP服务器,这里的请求当然是指接收客户端发送的http协议请 ...
- 如何解决Win10电脑网速慢的问题?
很多Win10系统用户反映自己的电脑配置并不算低,却比有些旧电脑上网速度还要慢,不知道是什么原因. 其实,除了运营商网速的原因外,我们的电脑设置也会对网速有所影响.下面好系统U盘启动就来介绍一个Win ...
- Delphi 使用数据库浏览器
樊伟胜
- js失效问题
由于有些公司设计的js文件涉及到收费问题,提供的这些js文件不能部署到线上,只能通过127.0.0.1:8080/home类似方式访问js才能生效,换作10.140.111.11:8080/home这 ...
- 序列化 json pickle shelve configparser
一 什么是 序列化 在我们存储数据或者 网络传输数据的时候,需要对我们的 对象进行处理,把对象处理成方便我们存储和传输的 数据格式,这个过程叫序列化,不同的序列化,结果也不相同,但是目的是一样的,都是 ...
- 简单了解Linux文件目录
/bin :获得最小的系统可操作性所需要的命令 /boot :内核和加载内核所需的文件 /dev :终端.磁盘.调制解调器等的设备项 /etc :关键的启动文件和配置文件 /home :用户的主目录 ...
- 深圳即将启动首届「全国人工智能大赛」:超过 500 万大奖 & 政府资助,潜信息你读懂了吗!
人工智能加速“视频/视觉”发展,近期,深圳市即将迎来人工智能领域权威赛事之一——首届「全国人工智能大赛」(The First National Artificial Intelligence Chal ...