云调用subscribeMessage.send出现如下问题如何解决?
一、云调用错误如下: Error: errCode: -501007 invalid parameters | errMsg: subscribeMessage.send:fail missing wxCloudApiToken 二、附源码: async function batchSend(event) {
const { messages } = event
console.info({event: JSON.stringify(event)})
console.info('处理订阅消息', messages.length)
// 循环消息列表
const sendPromises = messages.map(async message => {
let { touser, page, data, templateId } = message
// 发送订阅消息
await cloud.openapi.subscribeMessage.send({
touser,
templateId,
page,
data,
})
});
await Promise.all(sendPromises)
}
三、现象描述: 直接云端测试云函数5 次, 结果:失败、成功、失败、成功、成功。一旦出错后,会一直报上述错误。需要调用其他云调用成功一次,才可以恢复。恢复后又是间歇性失败。其他云调用,如“cloud.openapi.wxacode.getUnlimited”从不会失败。总结:这个问题已经追踪了两天了,仍然没有找到必现的规律,失败的概率很大,很容易复现。跟其他人说的miniprogram_statestring参数也无关,因为我一直没有传此参数,默认值为formal。