小程序(三十四)微信小程序开启订阅消息推送

lxf2023-05-11 01:00:53

订阅消息推送这部分其实不是很难,官方文档里边有比较详细的解释。

我这里记录一下我在配置订阅消息推送的时候发生的一些小问题吧,算是经验,给没有做过的同学避个坑。

官方文档地址:小程序订阅消息 | 微信开放文档 (qq.com)

1:官方文档的问题:

小程序(三十四)微信小程序开启订阅消息推送

此处标注的是在微信公众平台手动配置获取模板id。我这里想当然的认为是关联公众号的的模板id即可。

我这一顿测试,总是报错

requestSubscribeMessage:fail No template data return, verify the template id exist

后来参透了文档中的玄机,哦,原来是小程序的模板的模板id呀。

开通消息订阅模板如下图所示:

小程序(三十四)微信小程序开启订阅消息推送

里边有公共模板库,选择你想要的,或者你也可以申请属于自己的模板。

 

2:开通小程序消息推送权限

你以为开通了小程序订阅消息模板就可以了么?

不不不,你天真了,我们还是需要再去开发者中心里边再配置一下消息推送的信息。

小程序(三十四)微信小程序开启订阅消息推送

这里需要按照你自己的服务器域名进行配置。

 

3:48001报错

上述步骤完成之后,你认为你就可以进行消息推送了么?

不不不,你又天真了。

按照官方文档的推送消息的数据格式,组装好数据之后,我们向
https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=ACCESS_TOKEN
发送请求,结果返回:
{"errcode":48001,"errmsg":"api unauthorized rid: 6329613c-1b943dce-424ef456"}

嗯……官方文档给出的解释是:api 功能未授权,请确认公众号/小程序已获得该接口,可以在公众平台官网 - 开发者中心页中查看接口权限

 

我这个是小程序,那我需要去公众平台官网 - 开发者中心页中查看接口权限。

好那我们移步公众平台官网,但是我有个疑问哈,公众平台官网的网址是啥呢?

我上哪看?

百度了一下,主要找到的还是排查一下小程序的appid与代码中的appid是否一致。

我看了,好像没什么问题。

但是后来一想,嗯……可能是有点问题。

问题可能出在了ACCESS_TOKEN上。

简单的说下我这个项目的背景,我这里是微信公众号和微信小程序同时开发,在一台服务器上。

获取ACCESS_TOKEN我是将他封装成了一个公共方法,随时调用即可。

问题就出在这里。我调用获取ACCESS_TOKEN的时候获取的是公众号的ACCESS_TOKEN,而不是小程序的ACCESS_TOKEN。

但是我们请求小程序发送模板消息的接口的时候需要的是小程序的ACCESS_TOKEN。

 

4:允许拒绝推送消息的问题

推送消息的时候,我在手机端选择了一个允许,一个拒绝,如下图所示:

小程序(三十四)微信小程序开启订阅消息推送

但是我在后端做测试的时候,两个订阅消息,我都是可以推送,并且接受成功的。

那现在就有一个小问题,选择的意义在哪呢?

不知道是我的问题还是微信的问题,各位看官有遇到过类似的问题么?

 

这里主要是记录一下我在做小程序推送遇到的一些小问题吧。主要还是自己有点粗心。早晚得被自己坑死~

 

有好的建议,请在下方输入你的评论。

本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!