QQ小程序模板消息填坑——40003、40035

QQ小程序已经推出好长时间了,但是普及程度较微信小程序差了太多。实际上QQ小程序基本算是复刻了微信小程序,但是不知道是复刻的水平有限还是官方故意为之,QQ小程序也有很多和微信小程序不一样的地方,也有好多微信小程序没有的坑,今天来填一下模板消息的坑。
本来模板消息这个东西照着官方文档去写应该就行了,但是这坑恰恰就在官方文档上,先来看一下官方文档。
api说明
再来往下看。
请求示例
都不用多说,大家仔细对比一下前面的参数说明,appid作为一个必填项,而下面的请求示例里却没有了?
没错,我反复试了无数遍,才发现参数说明压根就是错的。
经过几次新的尝试,我终于成功地把模板消息发出去了,下面是我对官方文档的更正。
更正版
附一份代码。

  val accessToken = "ACCESS_TOKEN"
  val res = Jsoup.connect("https://api.q.qq.com/api/json/template/send?access_token=$accessToken")
        .header("content-type","application/json")
        .requestBody("""
            {
              "touser": "OPENID",
              "template_id": "TEMPLATE_ID",
              "form_id": "FORM_ID",
              "data": {
                "keyword1": {
                  "value": "KEYWORD1"
                },
                "keyword2": {
                  "value": "KEYWORD2"
                }
              }
            }
        """.trimIndent())
        .method(Connection.Method.POST)
        .ignoreContentType(true)
        .execute()

代码是用kotlin+Jsoup写的,和java版本的有点不一样,但是相信大家应该能看懂。
解决问题的过程中在微信小程序社区还有一些博客上看到一些大佬提到openid不属于当前小程序或者配置文件里appid错误之类的问题也会导致40003,这些问题大家也要好好检查一下。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要实现服务号给微信小程序用户发送模板消息,需要使用微信公众平台提供的模板消息接口。以下是使用PHP实现的步骤: 1. 获取access_token 首先需要获取access_token,可以通过向以下接口发送GET请求获取: https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 其中APPID和APPSECRET分别为服务号的AppID和AppSecret。 2. 获取小程序用户的openid 在向小程序用户发送模板消息之前,需要获取用户的openid。可以通过使用小程序提供的登录接口获取用户的openid,具体方法可以参考小程序开发文档。 3. 发送模板消息 获取用户的openid之后,就可以向用户发送模板消息了。发送模板消息的接口为: https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN 其中ACCESS_TOKEN为第一步获取的access_token。 发送模板消息的数据格式为: { "touser":"OPENID", "template_id":"TEMPLATE_ID", "page":"index", "form_id":"FORMID", "data":{ "keyword1":{ "value":"VALUE1" }, "keyword2":{ "value":"VALUE2" } }, "emphasis_keyword":"keyword1.DATA" } 其中: - touser为接收消息小程序用户的openid; - template_id为模板消息的ID,可以在公众平台后台的模板库中查找; - page为小程序的页面路径,可以不填; - form_id为小程序的form_id,可以在小程序端通过wx.requestPayment等接口获取; - data为模板消息中需要替换的变量; - emphasis_keyword为模板消息中需要进行高亮的关键字。 具体的数据格式可以参考微信公众平台的文档。 以上是使用PHP实现服务号给微信小程序用户发送模板消息的基本步骤。需要注意的是,为了保证模板消息能够正常发送,需要先在公众平台后台的模板库中添加对应的模板,并且设置好模板消息中需要替换的变量。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值