firebase - 获取“firebase.functions(app)”参数需要一个 FirebaseApp 实例或在 React-Native Firebase 中未定义
问题描述
我在 GoogleCloud 中触发了一个 httpscallable 函数,但收到了这个错误,我在文档中的任何地方都找不到它是什么:
“firebase.functions(app)” arg 需要 FirebaseApp 实例或未定义。
确保提供的 arg 是 Firebase 应用实例;或者没有参数来使用 默认的 Firebase app。
这是我在 RN 应用程序中的代码:
import { firebase } from '@react-native-firebase/functions';
...
try {
await firebase.functions('europe-west1').httpsCallable('createUserTest')();
}
catch (httpsError) {
console.log(httpsError.message);
}
还有我的云功能:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.createUserTest = functions.region('europe-west1').https.onCall(async (data, context) => {
try {
const callerUid = context.auth.uid;
const callerUserRecord = await admin.auth().getUser(callerUid);
return { result: callerUserRecord.customClaims };
} catch (error) {
return { error: error };
}
});
我将此函数用于测试目的,只是为了查看是否可以接收到当前用户自定义声明,但是,它返回了该错误。
解决方案
您似乎没有正确使用提供的客户端 API。我建议查看文档,尤其是示例 3。您需要这样做:
const defaultApp = firebase.app();
const functionsForRegion = defaultApp.functions('europe-west1');
await functionsForRegion.httpsCallable("createUserTest")()
推荐阅读
- android - Kotlin - 当 editText 获得焦点时,NestedScrollView 卡住了
- javascript - 显示在下拉列表中选择的内容:Bootstrap
- javascript - 如何在使用量角器下载 PDF 文件时设置等待
- c# - 如何初始化 IEnumerable
在 C# 中? - c - 如何反转基于表的 CRC16?
- android - Android:带有一个编辑文本和微调器的 TextInputLayout
- php - PHP:获取数组2并将其存储到新数组
- javascript - 离线渐进式网络应用程序未打开错误消息是无法连接到站点(如本机错误弹出消息)
- ios - 如果框架不存在,Objective-c 在运行时关闭类/代码块
- vue.js - 如何在 Vue.js 中使用 vuelidate 验证 vSelect