• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    微信小程序发送订阅消息的方法(php 为例)

    1、订阅消息

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

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

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

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

    2、准备工作

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

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

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

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

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

    3、授权接收

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

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

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

    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_credentialappid=' . $appid . 'secret=' . $appsecret;
     $html = file_get_contents($url);
     $output = json_decode($html, true);
     $access_token = $output['access_token'];
     return $access_token;
    }

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

    总结

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

    您可能感兴趣的文章:
    • 微信小程序 消息推送php服务器验证实例详解
    • php基于Redis消息队列实现的消息推送的方法
    • php实现微信模板消息推送
    • php实现websocket实时消息推送
    • 解析php做推送服务端实现ios消息推送
    • PHP实现微信小程序在线支付功能(代码实例)
    • php实现微信小程序授权登录功能(实现流程)
    • 基于PHP实现微信小程序客服消息功能
    • 微信小程序上传图片到php服务器的方法
    • 详解php微信小程序消息推送配置
    上一篇:php上传后台无法收到数据解决方法
    下一篇:Laravel 中使用简单的方法跟踪用户是否在线(推荐)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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