场景:
小程序云开发的定时任务中,我通过uniformMessage.send接口给已关注相同主体公众号的用户发送模板消息时报错:
代码如下:
const result = await cloud.openapi.uniformMessage.send({
touser: '小程序中对应的用户openid',
mpTemplateMsg: {
appid: 'wx65580**********998',
url: 'http://mp.weixin.qq.com',
miniprogram: {
appid: 'wx8***********25',
pagepath: 'pages/resumeL/resumeL'
},
data: {
first: {
value: '抱歉,您的简历审核被驳回',
color: '#173177'
},
keyword1: {
value: item.reason,
color: '#173177'
},
keyword2: {
value: item.occurTime,
color: '#173177'
},
keyword3: {
value: '根据拒绝原因重新填写',
color: '#173177'
},
remark: {
value: '',
color: '#173177'
}
},
templateId: '6JVwpBqgrCNQOH7A0ywDfDQyrEcaOqyTo2AWYZfk5xU'
}
})
1 请问这样是可以的么? 我看文档说这个to_user可以是小程序的openid也可以是公众号的openid
2 请问如果给公众号发模板信息必须使用公众号openid的话,那么有没有方法通过unionid获取用户已关注的同主体公众号的openid?
1、不可以,发小程序就必须小程序openId,公众号就公众号openId
2、可以通过公众号关注事件,获取用户unionId,然后跟库中unionId匹配把公众号用户跟小程序用户关联到一起,并分别保存各自的openId
PS:
uniformMessage.send这个功能其实目前只能发送公众号模板消息。因为小程序的模板消息N早前已经下架了。
另外想请教下,关注事件是不是当我设置了“服务器地址”后就自动生效了?
还有就是能不能不依赖外部服务,直接url写成云环境的库?是不是有点天真,嘿嘿
前提条件:
1:已在开放平台绑定
2:公众号已关联小程序
3:用户已在小程序注册(小程序的openid及开放平台的unionid都可获得)
问:
1:这种情况通过这个接口可不可以拿小程序的openid给用户发公众号的模板信息
2:如果不能,云开发模式(不考虑新增后台服务的情况下),如何根据unionid获取用户在公众号下的openid
不能给小程序用户发