评论

统一服务消息取消后,云开发实现不需要unionid发送模板消息。

不需要用到unionid,就能愉快地发送模板消息了。

一般统一服务消息,都是不用unionid的,该功能取消后,再想通过unionid打通两个openid,已经有点太晚了,以下是不需要unionid打通用户数据的方案:

1、在小程序上点击按钮:开通公众号消息通知;

2.1、开通方案一:生成授权链接,复制到剪贴板,在微信中打开链接,实现公众号网页授权。

弹出model:授权链接已经复制到剪贴板,请在微信聊天中打开该链接;

拼装出公众号网页授权的链接,复制到剪贴板:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=<公众号APPID>&redirect_uri=<云函数HTTP访问服务网址>&response_type=code&scope=SCOPE&state=<小程序openid>#wechat_redirect

说明:

redirect_uri:填入小程序云开发配置的http访问服务的自定义域名链接。(此前,需要在公众号的mp后台配置网页授权域名白名单)

state:填入小程序当前用户的openid

参考文档:

https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html


2.2 、小程序webview中打开授权链接,实现公众号网页授权。

此方案需要配置两个域名白名单

小程序的业务域名,公众号的网页授权域名,都要配置成同一个域名。


3、小程序云函数收到公众号授权回调,传回以下信息:

如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。此时state即小程序的openid。



4、用code换取公众号的openid

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

返回数据 :

{
  "access_token":"ACCESS_TOKEN",
  "expires_in":7200,
  "refresh_token":"REFRESH_TOKEN",
  "openid":"OPENID",
  "scope":"SCOPE",
  "is_snapshotuser": 1,
  "unionid": "UNIONID"


此时,云函数中已经同时获取到小程序openid和公众号openid


5、云函数更新数据库中user表,填入公众号openid

collection: user
{
_openid:'xxx',
mp_openid:'yyy'
}


6、结束。

现在可以愉快地发送公众号模板消息了。

可能有两种方法:

一、发送公众号模板消息,还需要公众号鉴权后,获取公众号token,调用公众号模板消息

https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html#5

二、等公众号云调用支持发送模板消息接口了:cgi-bin/message/template/send

相信英明神武的微信开发团队,不会让我们等太久吧?不会吧?


最后一次编辑于  2023-10-17  
点赞 2
收藏
评论

3 个评论

  • FanFan
    FanFan
    2023-10-13

    感谢 大神,按照大神的方式,用第三方平台解决了此问题。

    2023-10-13
    赞同
    回复
  • BOBO
    BOBO
    2023-09-28

    你这个流程里的前提是用户已经关注公众号了。授权不等于关注公众号

    可以试试是否可以在小程序web-view里打开授权链接。如果要用户复制链接到微信里打开授权,用户中断操作的可能要大很多。

    2023-09-28
    赞同
    回复
  • 跨商通
    跨商通
    2023-09-27

    好消息:

    关于模板消息是否支持云调用,官方已经正面回答了:正在开发中。

    https://developers.weixin.qq.com/community/develop/doc/000c84194046a0544c60ba3d666800

    2023-09-27
    赞同
    回复 2
    • FanFan
      FanFan
      2023-10-19
      使用主题文章的方式在本地调试成功了,在手机上面打开小程序却提示无法打开此页面。用微信电脑端打开小程序也是正常能访问。奇怪了,不知道是否有遇到此类情况。
      2023-10-19
      回复
    • 跨商通
      跨商通
      发表于小程序端
      2023-10-19回复FanFan

      看2.2小节

      2023-10-19
      回复
登录 后发表内容