我在Firebase的Cloud Function中使用Node.js Admin SDK,我想调用admin.auth().getUserByEmail()
方法。
由于我使用的是Cloud功能,因此我只需阅读here,我只需要致电admin.initializeApp(functions.config().firebase);
,我已经完成了这项工作。
但是,当我调用getUserByEmail()
(仅在本地测试)时,我收到以下错误:
'No Firebase project was found for the provided credential.'
这是我的index.js
'use strict';
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.hello = functions.https.onRequest(function (req, resp) {
var from = req.body.sender;
admin.auth().getUserByEmail(from)
.then(function (userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log("Successfully fetched user data:", userRecord.toJSON());
})
.catch(function (error) {
console.log("Error fetching user data:", error);
})
});
有没有人有这方面的经验,可以告诉我我做错了什么?
答案 0 :(得分:2)
如果您使用的是localy(在Google云端功能模拟器中),则admin sdk无法获得正确的配置json。您必须使用从firebase控制台获得的服务帐户json。
但是如果你已经部署了它,你的方法就可以了。