收藏
回答

发送订阅消息 has no permission to call this function ?

云开发发送订阅消息 function has no permission to call this API

错误信息如下:

代码片段如下:

 try {
    const result = await cloud.openapi.subscribeMessage.send({
      touser: helpItem.open_id,
      page: 'pages/helpInfo/info?help_id=' + helpItem._id,
      data: {
        thing1: {
          value: helpItem.goods_info.goods_name
        },
        thing2: {
          value: '抱歉,你参与的助力活动因过期而失败!'
        }
      },
      templateId: tempids.tmpid_help_fa
    })
    return result
  } catch (err) {
    console.log(err)
    return err
}

  config 文件

{
  "permissions": {
    "openapi":["subscribeMessage.send"]
  }
}

定时函数中调用发送消息方法,大神们,问题出在那儿了呢?

回答关注问题邀请回答
收藏

1 个回答

  • 白宦成
    白宦成
    02-08

    单独上传一下 config.json

    02-08
    赞同
    回复 3
    • Charb
      Charb
      02-08
      上传过了,我还把云函数下载下来看了看,都没问题的
      02-08
      回复
    • 白宦成
      白宦成
      02-08回复Charb
      需要配置云调用权限,每个云函数需要声明其会使用到的接口,否则无法调用,声明的方法是在云函数目录下的 config.json(如无需新建)配置文件的 permissions.openapi 字段中增加要调用的接口名,permissions.openapi 是个字符串数组字段,值必须为所需调用的服务端接口名称。在每次使用微信开发者工具上传云函数时均会根据配置更新权限,该配置有10分钟的缓存,如果更新后提示没有权限,稍等10分钟后再试。
      02-08
      回复
    • Charb
      Charb
      02-08回复白宦成
      谢谢您的耐心回答,刚才测试了一下,应该是定时任务发送订阅消息的问题,我单独调用发送订阅消息发就可以发出去
      02-08
      回复
登录 后发表内容
问题标签