使用security.msgSecCheck时提示-604101如何解决?
发布于 5 年前 作者 jcheng 9464 次浏览 来自 官方Issues

源码如下:

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下面写函数,要怎么写麻烦教一下谢谢。

1 回复

云调用需要在云函数目录下申请权限的。文档: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"
    ]
  }
}
回到顶部