收藏
回答

服务端调用云开发报错[100003] Param Invalid: env check ,什么原因?

框架类型 问题类型 终端类型 AppID 环境ID 基础库版本
小程序 Bug 工具 wxbfd52ca8da22670f cloud1-4gcsxcql7d341258 无关

java服务端,使用了开源SDK weixin-java-miniapp

<dependency>
    <groupId>com.github.binarywang</groupId>
    <artifactId>weixin-java-miniapp</artifactId>
    <version>4.6.0</version>
</dependency>

public void downloadFiles() throws WxErrorException {
    WxMaCloudService service = wxMaService.getCloudService();
    String s = service.invokeCloudFunction(this.env, "cloudFileManager", "{\"functionName\":\"listDirectoryFiles\",\"params\":{\"path\":\"shenqi_output/\"}}");
    log.info("CloudFunction returns " + s);
}


访问云数据库正常,但访问这个云函数 cloudFileManager 就报错

而在微信开发工具上使用云端测试同样的参数调用正常。

云函数cloudFileManager的内容(有多个方法)

// 云函数入口文件
const cloud = require('wx-server-sdk')
const CloudBase = require('@cloudbase/manager-node')
const path = require("path")
const {storage} = new CloudBase()
cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) // 使用当前云环境

// 获取云存储的所有文件信息
async function listDirectoryFiles(params) {
    const {path} = params
    // 接口功能:列出文件夹下的所有文件
    // 接口声明:listDirectoryFiles(cloudPath: string): Promise<IListFileInfo[]>
    return await storage.listDirectoryFiles(path);
}

环境ID我都核对了,没有问题,而且我的服务端都使用的是同一个环境ID,访问云数据库都没问题。请帮忙找找问题,谢谢

最后一次编辑于  07-12
回答关注问题邀请回答
收藏

1 个回答

  • Mr.Zhao
    Mr.Zhao
    07-12

    env=null ?

    07-12
    有用
    回复 3
    • 子言
      子言
      07-12
      看了sdk源码,方法内没有使用参数env,最终访问的时候确实是null
      07-12
      回复
    • Mr.Zhao
      Mr.Zhao
      07-12回复子言
      会看SDK源码?
      07-12
      回复
    • Mr.Zhao
      Mr.Zhao
      07-12回复子言
      这个SDK有bug, 可以去gitee上反馈一下
      07-12
      回复
登录 后发表内容