我在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 };
}
});
我使用这个函数进行测试,只是为了看看我是否可以接收到当前用户的自定义索赔或没有,但是,它返回的错误。
看起来你没有正确使用提供的客户端API。 我建议查看 文件尤其是例子3。 你会想这样做,而不是。
const defaultApp = firebase.app();
const functionsForRegion = defaultApp.functions('europe-west1');
await functionsForRegion.httpsCallable("createUserTest")()