颤振:在Firebase Emulator上调用Firebase Cloud函数时平台异常

颤振:在Firebase Emulator上调用Firebase Cloud函数时平台异常,firebase,flutter,google-cloud-functions,firebase-tools,Firebase,Flutter,Google Cloud Functions,Firebase Tools,我尝试使用Firebase Emulator从我的Flatter应用程序中使用Firebase云函数。 在生产环境中,调用工作正常,但在模拟器中不行,我总是会遇到以下错误 调用函数后出错 { "emulators": { "functions": { "port": 5001 }, "firestore": { "host": "0.0

我尝试使用Firebase Emulator从我的Flatter应用程序中使用Firebase云函数。 在生产环境中,调用工作正常,但在模拟器中不行,我总是会遇到以下错误

调用函数后出错

{
  "emulators": {
    "functions": {
      "port": 5001
    },
    "firestore": {
      "host": "0.0.0.0",
      "port": 8080
    },
    "ui": {
      "enabled": true
    }
  }
}
[VERBOSE-2:ui_dart_state.cc(166)]未处理的异常:PlatformException(-5,操作无法完成。(com.google.GTMSessionFetcher错误-5.,null)

颤振代码

CloudFunctions(region: "europe-west3")
              .useFunctionsEmulator(origin: "127.0.0.1:8080")
              .getHttpsCallable(
                functionName: "addUser",
              )
              .call(
            {"name": "oui", "email": "oui@oui.fr"},
          ).then(
            (value) {
              print('OK');
              print(value);
            },
          );
firebase.json

{
  "emulators": {
    "functions": {
      "port": 5001
    },
    "firestore": {
      "host": "0.0.0.0",
      "port": 8080
    },
    "ui": {
      "enabled": true
    }
  }
}

函数模拟器的
firebase.json
端口设置为5001,而在呈现的代码中
useFunctionsEmulator
方法调用8080。此端口是为firestore emulator设置的

根据参数应为:

将此实例更改为指向本地运行的云函数模拟器

@param origin本地仿真器的原点,例如“//10.0.2.2:5005”


虽然不是直截了当的,但我想doc的意思是函数模拟器。

谢谢您的回复。我更改了端口号,但仍然是相同的错误(com.google.GTMSessionFetcher error-5.)。我试图直接在导航器中输入“”,我接到了电话。所以我确信问题来自于我的flatter应用程序中的云函数调用。如果你需要,我可以展示更多细节。你如何测试它?这是某种iOS模拟器吗…?是的,iOS模拟器。这可能是一米的虚拟化。IOS模拟器是虚拟机,所以实际上这是试图从不同的机器,而不是本地访问模拟器。这可能是原因,因为这是Firebase本地仿真器套件,它不是为在远程机器上工作而设计的。找到它!只需要在url:cloudFunctions.useFunctionsEmulator(源代码:)前面有http