如何解决Firebase 可调用函数失败
即使在第一行代码执行之前,许多函数已经开始间歇性失败并出现以下错误:
FIREBASE 警告:{"code":"app/invalid-credential","message":"通过“credential”属性提供给 initializeApp() 的凭据实现无法获取有效的 Google OAuth2 访问令牌,并出现以下错误:“无法解析访问令牌响应:SyntaxError:JSON 中的意外令牌 p 在位置 4”。"}
自从我向 Firebase 支持提出错误问题以来已经超过 5 天了,但我仍然没有任何反馈。
有人知道为什么会发生这种情况以及如何解决吗?
使用的库及其版本:
> local > this
初始化:
"firebase": "^8.2.9","firebase-admin": "^9.5.0","firebase-functions": "^3.1.0"
解决方法
在 Cloud Functions 中,如果您想与 Firebase 服务(例如 Firestore、Auth 服务等)交互,则需要使用 Admin SDK。
因此,您需要加载 firebase-functions
和 firebase-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);
还要注意 doc 中的这个注释:
在许多情况下,新功能和错误修复仅适用于
最新版本的 Firebase CLI 和 firebase-functions
SDK。
经常更新 Firebase CLI 和
带有这些命令的 SDK 在您的函数文件夹中
Firebase 项目:
npm install firebase-functions@latest firebase-admin@latest --save
npm install -g firebase-tools
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。