微信小程序发送订阅消息的方法(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中定义网站根目录的常用方法
Aug 08 PHP
实测在class的function中include的文件中非php的global全局环境
Jul 15 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
Jul 01 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
Nov 19 PHP
你应该知道PHP浮点数知识
May 13 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
Yii2使用swiftmailer发送邮件的方法
May 03 PHP
CI框架集成Smarty的方法分析
May 17 PHP
简单解决微信文章图片防盗链问题
Dec 17 PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 PHP
如何在PHP中使用数组
Jun 09 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中正确的使用json
2013/08/06 PHP
php打造智能化的柱状图程序,用于报表等
2015/06/19 PHP
PHP7.0版本备注
2015/07/23 PHP
ThinkPHP 3使用OSS的方法
2018/07/19 PHP
Ext.MessageBox工具类简介
2009/12/10 Javascript
采用call方式实现js继承
2014/05/20 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
Vue.js快速入门实例教程
2016/10/15 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
React中上传图片到七牛的示例代码
2017/10/10 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
利用js canvas实现五子棋游戏
2020/10/11 Javascript
Python中的模块和包概念介绍
2015/04/13 Python
python实现爬虫统计学校BBS男女比例(一)
2015/12/31 Python
Django在win10下的安装并创建工程
2017/11/20 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
浅谈Python爬虫基本套路
2019/03/25 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
sklearn和keras的数据切分与交叉验证的实例详解
2020/06/19 Python
用Python开发app后端有优势吗
2020/06/29 Python
俄罗斯购买剧院和演唱会门票网站:Parter.ru
2019/11/09 全球购物
C++:memset ,memcpy和strcpy的根本区别
2013/04/27 面试题
退休感言
2014/01/28 职场文书
中式婚礼主持词
2014/03/13 职场文书
采购部长岗位职责
2014/06/13 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
2014年稽查工作总结
2014/12/20 职场文书
行政主管岗位职责
2015/02/03 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
2016年国庆节新闻稿范文
2015/11/25 职场文书
Python中re模块的元字符使用小结
2022/04/07 Python