源码如下:
const cloud = require( 'wx-server-sdk' ) cloud.init() const db = cloud.database() exports.main = async (event, context) => { try { const checkmsg = await cloud.openapi.security.msgSecCheck({ content: event.text }); } catch (err){ return '1.发布内容含有违法违规内容:87014' +err; } } |
每一次都会跳到下面报错
errCode: -604101 function has no permission to call this API
本地调试没有问题,但是用线上的云函数就不行。
我看其他贴,在openapi下加了"security.msgSecCheck",并提交了云函数,但是等了好久还是和上面一样的。
是不是还要再openapi的index.js下面写函数,要怎么写麻烦教一下谢谢。
云调用需要在云函数目录下申请权限的。文档:https://developers.weixin.qq.com/miniprogram/dev/wxcloud/guide/openapi/openapi.html#%E4%BA%91%E8%B0%83%E7%94%A8
接着,需要配置云调用权限,每个云函数需要声明其会使用到的接口,否则无法调用,声明的方法是在云函数目录下的
config.json
(如无需新建)配置文件的permissions.openapi
字段中增加要调用的接口名,permissions.openapi
是个字符串数组字段,值必须为所需调用的服务端接口名称。在每次使用微信开发者工具上传云函数时均会根据配置更新权限,该配置有10分钟的缓存,如果更新后提示没有权限,稍等10分钟后再试。以下是一个示例的声明了使用发送模板消息接口的配置文件:{
"permissions"
: {
"openapi"
: [
"templateMessage.send"
]
}
}