获取 "firebase.f functions(app) "arg期待一个FirebaseApp实例,或者在React-Native Firebase中未定义。

问题描述 投票:0回答:1

我在GoogleCloud中触发了一个可调用的httpscallable函数,但却收到了这个错误,而我在任何地方都找不到这个错误是什么。

"firebase.function(app)" arg期待一个FirebaseApp实例或未定义。

确保提供的arg是一个Firebase应用实例;或者没有args可供使用。 默认的Firebase应用.

这是我在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 };
    }
});

我使用这个函数进行测试,只是为了看看我是否可以接收到当前用户的自定义索赔或没有,但是,它返回的错误。

firebase react-native google-cloud-firestore google-cloud-functions react-native-firebase
1个回答
1
投票

看起来你没有正确使用提供的客户端API。 我建议查看 文件尤其是例子3。 你会想这样做,而不是。

const defaultApp = firebase.app();
const functionsForRegion = defaultApp.functions('europe-west1');
await functionsForRegion.httpsCallable("createUserTest")()
© www.soinside.com 2019 - 2024. All rights reserved.