Hlxuan的开放文档Hlxuan的开放文档
首页
  • 首页
  • i朗月

    • 小程序端
    • App端(Beta)
    • 规则中心
    • 帮助中心
    • 更新日志
  • 朗月传媒工作室

    • 小程序端
    • App端(Beta)
    • 规则中心
    • 更新日志
  • 微信小程序

    • 隐私授权弹窗
  • 微信公众号/服务号

    • 图片水印功能升级
    • 扫码授权提示“无账号”
    • 发表内容不显示在账号主页
    • 自定义菜单篇
    • 更多
  • 微信小程序

    • 用户隐私保护指引常见问题
    • 下发统一消息接口
    • 头像昵称获取
    • 更多
  • 微信开放社区
  • GitHub
  • Gitee
  • npm
新媒体平台
支持作者
首页
  • 首页
  • i朗月

    • 小程序端
    • App端(Beta)
    • 规则中心
    • 帮助中心
    • 更新日志
  • 朗月传媒工作室

    • 小程序端
    • App端(Beta)
    • 规则中心
    • 更新日志
  • 微信小程序

    • 隐私授权弹窗
  • 微信公众号/服务号

    • 图片水印功能升级
    • 扫码授权提示“无账号”
    • 发表内容不显示在账号主页
    • 自定义菜单篇
    • 更多
  • 微信小程序

    • 用户隐私保护指引常见问题
    • 下发统一消息接口
    • 头像昵称获取
    • 更多
  • 微信开放社区
  • GitHub
  • Gitee
  • npm
新媒体平台
支持作者
  • 微信小程序开发经验
  • 小程序用户隐私保护指引常见问题
  • 「小程序下发统一消息接口」收回后,如何适配?
  • 小程序用户头像昵称获取
  • 获取小程序AppId
  • 获取小程序页面路径
  • 录制回放

    • 「录制回放征文」说好的去体验,这就来了~
    • 「录制回放征文」录制回放问题答疑
  • 开发者工具

    • 为什么最近新建项目/代码片段和以前不一样?
    • 「干货」新建项目/代码片段为什么原生导航栏不见了?页面也无法滚动了?

「小程序下发统一消息接口」收回后,如何适配? 精选

前言

目前「小程序下发统一消息接口」已经收回,开发者无法通过该接口下发服务号模板消息,如有消息推送需要,可使用「服务号模板消息」接口,具体可参考公告:小程序与服务号下发统一消息接口调整通知。

来看下两个接口区别

「小程序下发统一消息接口」与「服务号模板消息接口」区别如下:

小程序下发统一消息接口(已收回)服务号模板消息接口
接口请求地址POST https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=ACCESS_TOKENPOST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
接口调用凭证小程序 access_token服务号 access_token
接收者 openid小程序 openid 或 服务号 openid服务号 openid

也就是说,现在需要下发服务号模板消息只能使用「服务号模板消息接口」:

  1. 需要使用服务号access_token调用该接口。
  2. 需要使用服务号openid下发服务号模板消息。

那应该如何适配呢?

一、如果你有服务号openid

按照「服务号模板消息接口」文档适配,使用服务号的openid即可。

注意:更换接口后,请求包json格式也要根据文档进行修改。

二、如果你只有小程序openid ,没有服务号openid

我想到了以下几种方式,可以获取用户服务号openid。

(一)通过unionid区分同一用户

小程序与服务号绑定在同一开放平台下:

  1. 小程序内可通过「wx.login」和「code2Session」接口获取到用户的unionid和openid,保存到数据库。

  2. 服务号可以调用「获取已关注用户列表接口」拿到所有已关注用户的openid,可调用「获取用户基本信息接口」查询unionid,保存到数据库。

  3. 对于新关注服务号的用户,关注事件推送里面会有openid,可调用「获取用户基本信息接口」查询unionid,保存到数据库。

注:接口有每日调用次数限制。

将用户在服务号与小程序下的openid和unionid保存到数据库里面,可以参考:

(1) 如果在一个表
idunionidoffiaccount_openidminiprogram_openid

下发模板消息时候,可通过小程序openid查询到服务号openid。

(2)如果是分开的表

服务号用户表

idunionidopenid

小程序用户表

idunionidopenid

下发模板消息的时候,通过unionid去查询对应用户服务号openid。

(二)网页授权

制作一个网页授权H5页面,可以获取到用户服务号openid,当scope为snsapi_userinfo时可以获取到unionid(服务号绑定到微信开放平台账号才会返回)。

(三)服务号关键词回复

用户在服务号回复关键词,开发者动态下发小程序链接,链接内带有服务号openid参数,用户点击跳转到小程序,完成绑定操作。

如果大家有其他方式,欢迎补充~

 


 

本文发表平台

下面整理的是本文发表的所有平台,未经许可,禁止转载,排名不分先后。

  • 社区精选「小程序下发统一消息接口」收回后,如何适配? - 微信开放社区 [发表日期:2023-09-21]
上次更新: 2025/7/29 14:21
贡献者: Hlxuan
上一页
小程序用户隐私保护指引常见问题
下一页
小程序用户头像昵称获取