Firebase可调用函数失败



许多函数在执行第一行代码之前就开始间歇性失败,并出现以下错误:

FIREBASE警告:{"代码":"应用程序/无效凭据","消息":通过"凭据"属性提供给initializeApp((的凭据实现无法获取有效的Google OAuth2访问令牌,错误如下:"无法解析访问令牌响应:SyntaxError:JSON中位置4处的意外令牌p"。}

我在Firebase支持下发现一个bug问题已经五天多了,但我仍然没有任何反馈。

有人知道为什么会发生这种情况以及如何解决吗?

使用的库及其版本:

"firebase": "^8.2.9",
"firebase-admin": "^9.5.0",
"firebase-functions": "^3.1.0"

初始化:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
var config = {
apiKey: "...",
authDomain: "...",
databaseURL: "..."
};
var firebase = require("firebase");
firebase.initializeApp(config);

在云功能中,如果您想与Firebase服务(例如Firestore、Auth服务等(进行交互,则需要使用Admin SDK。

因此,您需要加载firebase-functionsfirebase-admin模块,并初始化与服务交互的admin应用程序实例,如下所示:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const firestoreDB = admin.firestore();
const authService = admin.auth();
// ... 
// Examples:
// In a Cloud Function
return firestoreDB.collection("cities").doc("LA").set({
name: "Los Angeles",
state: "CA",
country: "USA"
});

// In another Cloud Function
return authService.updateUser(uid, {
email: 'modifiedUser@example.com',
phoneNumber: '+11234567890',
})
.then((userRecord) => {
// ...
// return ...
})

换句话说,你不需要做:

var config = {
apiKey: "...",
authDomain: "...",
databaseURL: "..."
};
var firebase = require("firebase");
firebase.initializeApp(config);

还要注意文档中的注释:

在许多情况下,只有最新版本的Firebase CLI和firebase-functionsSDK。经常更新Firebase CLI和Firebase项目:的函数文件夹中的带有这些命令的SDK

npm install firebase-functions@latest firebase-admin@latest --save

npm install -g firebase-tools

相关内容

  • 没有找到相关文章

最新更新