gpt4 book ai didi

firebase - 为Cloud Function指定区域时出现 “firebase.functions() takes … no argument …”异常

转载 作者:行者123 更新时间:2023-12-03 13:31:56 25 4
gpt4 key购买 nike

我正在跟踪Firebase documentation,以便从网页上调用与us-central1不在同一区域的Callable Function。

更准确地说,在网页中,我执行var functions = firebase.functions('europe-west1');,但收到以下错误,但调用没有结果:

uncaught exception: functions: Firebase: firebase.functions() takes either no argument or a Firebase App instance. (app/invalid-app-argument).

这是MCV代码:

云功能
const functions = require('firebase-functions');

exports.getName = functions
.region('europe-west1')
.https.onCall((data, context) => {
return { name: 'MyName' };
});

网页
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>

<script src="https://www.gstatic.com/firebasejs/5.3.1/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/5.3.1/firebase-functions.js"></script>

</head>

<body>
<script>
// Initialize Firebase
var config = {
apiKey: "xxxxxxxxxx",
authDomain: "xxxxxxxxxx",
databaseURL: "xxxxxxxxxx",
projectId: "xxxxxxxxxx",
storageBucket: "xxxxxxxxxx",
messagingSenderId: "xxxxxxxxxx",
};
firebase.initializeApp(config);

var functions = firebase.functions('europe-west1');

var getName = functions.httpsCallable('getName');
getName().then(function (result) {
console.log((result.data));
}).catch(function (error) {
// Getting the Error details.
var code = error.code;
var message = error.message;
var details = error.details;
});
</script>

</body>
</html>

如果我在 us-central1区域中运行相同的代码(不带参数调用 firebase.functions()),则它可以正常工作。

云功能(us-central1版本)
const functions = require('firebase-functions');

exports.getName = functions
.https.onCall((data, context) => {
return { name: 'MyName' };
});

网页(us-central1版本)
<!DOCTYPE html>
<html lang="en">
.....

<body>
<script>
// Initialize Firebase
var config = {
.....
};
firebase.initializeApp(config);

var functions = firebase.functions();

...

</script>

</body>
</html>

请注意,我已经将我的开发环境更新为 firebase-functionsfirebase-adminfirebase-tools的最新版本。

最佳答案

通过反复试验,我发现您必须这样做:

var config = {
apiKey: "xxxxxxxxxx",
authDomain: "xxxxxxxxxx",
databaseURL: "xxxxxxxxxx",
projectId: "xxxxxxxxxx",
storageBucket: "xxxxxxxxxx",
messagingSenderId: "xxxxxxxxxx",
};
var fireApp = firebase.initializeApp(config);
var functions = fireApp.functions('europe-west1');

关于firebase - 为Cloud Function指定区域时出现 “firebase.functions() takes … no argument …”异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51787147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com