微信小程序发送订阅消息的方法(php 为例)


Posted in PHP onOctober 30, 2019

1、订阅消息

其实如果用过模板消息的话,改用订阅消息挺简单的,看一下官方文档稍加摸索就能使用。

但是对于那些第一次用的萌新来说,可能会遇到各种各样的坑,所以我会具体的说一下实现的过程,有经验的可以直接翻到文章底部查看 Demo。

虽然如此,但是更详细的参数描述还是需要去看官方文档,传送门:

https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/subscribe-message.html

2、准备工作

首先是要获取template_id,也就是模板 ID。

这个在小程序后台的公共模板库找到适用的模板选用,之后到我的模板中复制系统分配的模板 ID即可。如果没找到合适的,就需要自己申请模板,3 - 7 天审核期。

微信小程序发送订阅消息的方法(php 为例)

然后就是小程序的 AppId 和 AppSecret,获取方式在小程序后台的开发功能中找到开发设置,保存 ID 和秘钥。

微信小程序发送订阅消息的方法(php 为例)

这里需要注意的是AppSecret只有在第一次生成的时候会显示,之后不再明文显示,这个需要开发者自己保存好,如果泄露或者忘记密匙重置即可。

至于 openid 的获取这里就不做具体说明了。

3、授权接收

发送前需要接受者授权接收该类订阅消息,否则订阅消息是无法下发,代码很简单,调用官方的订阅接口:

wx.requestSubscribeMessage({
 tmplIds: ['template_id'], // 此处可填写多个模板 ID,但低版本微信不兼容只能授权一个
 success (res) {
  console.log('已授权接收订阅消息')
 }
})

拉起的授权框是这样的,但是截止发文之前,开发者工具是无法调用接口,只能在真机上运行,无奈。

微信小程序发送订阅消息的方法(php 为例)

4、下发订阅消息

下发消息调用subscribeMessage.send ,分为云调用和 https 调用,云调用比较简单,免去了 access_token 的获取:

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
 try {
  const result = await cloud.openapi.subscribeMessage.send({
    touser: 'OPENID',
    page: 'index',
    data: {
     name3: {
      value: '我是玖柒后'
     },
     thing4: {
      value: 'Hello World!'
     },
     phrase1: {
      value: "发送成功!"
     },
     date5: {
      value: "发送成功!"
     },
     thing2: {
      value: "1024 身体健康!"
     }
    },
    templateId: 'TEMPLATE_ID'
   })
  console.log(result)
  return result
 } catch (err) {
  console.log(err)
  return err
 }
}

然后在服务器端发起请求,请求地址:

https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=token

在这之前先获取小程序全局唯一后台接口调用凭据(access_token),这就用到了之前保存的 AppId 和 AppSecret。

// 小程序 appID 和 appSecret 获取 token
function getAccessToken($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;
}

虽然看起来稍微有点复杂,但其实也只要向服务器发送一个请求就可以了,获取和调用都由服务器处理,收到的消息和模板消息差不多。

微信小程序发送订阅消息的方法(php 为例)

总结

以上所述是小编给大家介绍的微信小程序发送订阅消息的方法(php 为例),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

PHP 相关文章推荐
PHP输出时间差函数代码
Jan 28 PHP
PHP 过滤页面中的BOM(实现代码)
Jun 29 PHP
PHP开发框架laravel安装与配置教程
Mar 13 PHP
分享3个php获取日历的函数
Sep 25 PHP
PHP获取二维数组中某一列的值集合
Dec 25 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
PHP实现移除数组中为空或为某值元素的方法
Jan 07 PHP
php分页查询的简单实现代码
Mar 14 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
PHP中十六进制颜色与RGB颜色值互转的方法
Mar 18 PHP
laradock环境docker-compose操作详解
Jul 29 PHP
PHP实现的AES 128位加密算法示例
Sep 16 PHP
php上传后台无法收到数据解决方法
Oct 28 #PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 #PHP
PHP接入微信H5支付的方法示例
Oct 28 #PHP
PHP判断当前使用的是什么浏览器(推荐)
Oct 27 #PHP
php+layui数据表格实现数据分页渲染代码
Oct 26 #PHP
layui数据表格自定义每页条数limit设置
Oct 26 #PHP
在 Laravel 中动态隐藏 API 字段的方法
Oct 25 #PHP
You might like
PHP查询分页的实现代码
2017/06/09 PHP
Jquery中删除元素的实现代码
2011/12/29 Javascript
验证控件与Button的OnClientClick事件详细解析
2013/12/04 Javascript
js获取网页可见区域、正文以及屏幕分辨率的高度
2014/05/15 Javascript
nodejs中操作mysql数据库示例
2014/12/20 NodeJs
JavaScript中的原型链prototype介绍
2014/12/30 Javascript
JavaScript运算符小结
2015/06/03 Javascript
jQuery插件制作的实例教程
2016/05/16 Javascript
模拟javascript中的sort排序(简单实例)
2016/08/17 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
利用js获取下拉框中所选的值
2016/12/01 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
Vue精简版风格概述
2018/01/30 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
详解Angular中通过$location获取地址栏的参数
2018/08/02 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
js实现双色球效果
2020/08/02 Javascript
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
python 从文件夹抽取图片另存的方法
2018/12/04 Python
pycharm 将python文件打包为exe格式的方法
2019/01/16 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
使用IDLE的Python shell窗口实例详解
2019/11/19 Python
python入门之基础语法学习笔记
2020/02/08 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
苹果台湾官网:Apple台湾
2019/01/05 全球购物
机电一体化职业规划书
2014/01/07 职场文书
会计专业大学生求职信范文
2014/01/28 职场文书
《青蛙看海》教学反思
2014/04/23 职场文书
付款委托书范本
2014/10/05 职场文书
免职证明样本
2014/10/23 职场文书
财务审计整改报告
2014/11/06 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
直播实况, OMG破敌三路五十分钟大战神技局摩托车
2022/04/01 DOTA
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers