【发布时间】:2020-07-25 16:24:56
【问题描述】:
使用节点 - v12.16.1 React + Firebase
this.adminSDK = admin.initializeApp({
credential: admin.credential.applicationDefault(),
databaseURL: "https://APP_NAME.firebaseio.com"
});
console.log(this.adminSDK.name); //gives [DEFAULT]
//code below gives error
admin
.auth()
.listUsers()
.then(function (listUsersResult) {
this.listOFUsers = listUsersResult;
})
.catch(function (error) {
console.log("Error listing users:", error);
});
adminSDK.name 在控制台中给出 = [DEFAULT]
listALLUsers 给出错误:
Error listing users: Error: Failed to determine project ID: Error while making request: Failed to fetch. Error code: undefined
at FirebaseAppError.FirebaseError [as constructor] (error.js:42)
at FirebaseAppError.PrefixedFirebaseError [as constructor] (error.js:88)
at new FirebaseAppError (error.js:123)
at credential.js:183
我已设置“GOOGLE_APPLICATION_CREDENTIALS” 尝试使用SERVICE ACCOUNT凭证方法初始化adminSDK,出现Z_DATA错误
【问题讨论】:
-
您的服务帐户 json 文件似乎无效或损坏。你能检查它是否包含
project_id、private_key和client_email字段吗? -
@HiranyaJayathilaka 提供我的服务 json。请看一看。 { "type": " "project_id": " "private_key_id": "", "private_key": "-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----\ n","client_email":""client_id":"auth_uri":""token_uri":"auth_provider_x509_cert_url":"client_x509_cert_url":
-
看起来是正确的。如果您的
GOOGLE_APPLICATION_CREDENTIALS环境变量包含该文件的路径,那么一切都应该没有问题。 -
想通了。对于任何面临相同错误的人:我在客户端服务器上运行它。修复 - 在服务器上运行并从 API 获取响应(我使用 Firebase 云函数来部署 API)@HiranyaJayathilaka 谢谢你的帮助 :)
标签: reactjs firebase google-cloud-firestore firebase-authentication firebase-admin