想用触发器触发给用户发送信息,但是为什么用户允许后只能发一次?再发就报错errCode":43101
发布于 5 年前 作者 lwei 11944 次浏览 来自 官方Issues

在云函数中代码如下,先用call云函数测试,只能允许一次,发一次,如果我用定时器去几秒触发试一下,就会出来

返回结果

{"errCode":43101,"errMsg":"openapi.subscribeMessage.send:fail user refuse to accept the msg rid: 5fe56833-3d4f6598-7216aac2"}

日志

如果要实现定时给用户发信息提醒应该怎么做?



// 云函数入口文件

const cloud = require('wx-server-sdk')


cloud.init();

const db = cloud.database();


const userda = db.collection('users');


const template_id = 'Rq5eGHbeyzlS8KIdqySLtpXtf8nCftcC3c_CdvR15_s'; // 小程序模板消息模板 id



// 云函数入口函数

exports.main = async (event, context) => {

const wxContext = cloud.getWXContext()



var d = new Date();

var dateshow = d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate();

const getInfo = await userda.get();

const listnum = await userda.count();




const touser ='olgKb5WfCvN1Afxxmf3I-ydpgLOw';

for (let i = 0; i < 2; i++) {



// let touser = getInfo[i].userid;

// 发送模板消息

try {

const result = await cloud.openapi.subscribeMessage.send({

touser: touser,

page: 'pages/write/write',

lang: 'zh_CN',

data: {

phrase1: {

value: '日记提醒'

},

thing2: {

value: '今天你的日记提交了吗?如果没有请提交'

},

time3: {

value: dateshow

},

name4: {

value: '系统提醒'

}

},

templateId: template_id,

miniprogramState: 'developer'

})

return result

} catch (err) {

return err

}

}

}

1 回复

订阅一次,发送一次,允许不代表能一直发

回到顶部