收藏
回答

使用security.msgSecCheck时提示-604101如何解决?

源码如下:

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


最后一次编辑于  08-05  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

1 个回答

  • 白宦成
    白宦成
    08-05

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


    08-05
    赞同
    回复 1
    • 46Ha
      46Ha
      08-06
      谢谢,原来是写在当前云函数,我错误以为openapi云函数是所有云函数的入口(笑)
      08-06
      回复