希望实现用户在小程序中授权接收订阅消息后,每天早10点发送订阅消息提醒用户背单词。现在实现了一个调用了subscribeMessage.send的云函数,且在客户端调用这个云函数,可以正常工作;但是用定时器定时调用这个云函数则报错:Error: errCode: -501007 invalid parameters | errMsg: subscribeMessage.send:fail Invalid request param
看了一些帖子,有人说云函数定时触发器无法调用自带api。如果是这样,那我说的功能岂不是实现不了?求解答!
解决了,终于不报 -501007 错误了,主要进行了以下两方面更改,具体哪种更改起的作用,等我待会测试一下再说:
1. 微信开发者工具切换为 Nightly 版本
2. 将原先放在另一个云函数内的订阅信息发送功能挪至云函数定时触发器下执行
—————————— 分割线 ——————————
我切换微信开发者工具 Stable1.02.1911180, 依然成功的发送了订阅消息,那么看来报错的原因就在于:不能在云函数定时触发器里去调用另一个云函数里的云调用。
我这边可以的哦,理论上也应该是可以的。
更新小程序开发者工具到最新的nightly版本,然后重新上传云函数配置试一下。
如果还不行,提供appid和调用时间,我们查一下。
2019.10.18
A 新增 云开发定时触发器触发的云函数支持使用云调用
太太太及时了,我去试试再回来报告~另外用云端测试调用还是不支持是吗?
日志
START RequestId: f27bcda9-f48e-11e9-9be7-525400697544
Event RequestId: f27bcda9-f48e-11e9-9be7-525400697544
2019-10-22T05:44:00.519Z error
2019-10-22T05:44:00.520Z { Error: errCode: 43101 | errMsg: openapi.subscribeMessage.send:fail user refuse to accept the msg hint: [Sb00404125]
at new CloudSDKError (/var/user/node_modules/wx-server-sdk/index.js:6387:28)
at /var/user/node_modules/wx-server-sdk/index.js:2542:43
at step (/var/user/node_modules/tslib/tslib.js:136:27)
at Object.next (/var/user/node_modules/tslib/tslib.js:117:57)
at fulfilled (/var/user/node_modules/tslib/tslib.js:107:62)
at
at process._tickCallback (internal/process/next_tick.js:188:7)
errCode: 43101,
errMsg: 'openapi.subscribeMessage.send:fail user refuse to accept the msg hint: [Sb00404125]' }
END RequestId: f27bcda9-f48e-11e9-9be7-525400697544
Report RequestId: f27bcda9-f48e-11e9-9be7-525400697544 Duration:245ms Memory:256MB MaxMemoryUsed:37.175781MB
这个定时功能好流弊感觉 正需要
持续关注,坚决支持社区给大家提供沟通技术的这个平台宗旨。
请问你定时器触发时怎么把每一个订阅了的用户openid传到云函数呢
https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/functions/userinfo.html
官方文档还是值得花时间通读一遍的。