无法使用 Cloud Function for Firebase 通过电子邮件获取用户
Unable to get user by email using Cloud Function for Firebase
我在 Cloud Function for Firebase 中使用 Node.js Admin SDK,我想调用 admin.auth().getUserByEmail()
方法。
因为我使用的是 Cloud Function,所以我读 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);
})
});
有没有人对此有任何经验,可以告诉我我做错了什么?
如果您使用本地(在 google 云函数模拟器中),admin sdk 将无法获得正确的配置 json。您必须使用从 firebase 控制台获得的服务帐户 json。
但是如果你部署了它,你的方法就可以正常工作。
我在 Cloud Function for Firebase 中使用 Node.js Admin SDK,我想调用 admin.auth().getUserByEmail()
方法。
因为我使用的是 Cloud Function,所以我读 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);
})
});
有没有人对此有任何经验,可以告诉我我做错了什么?
如果您使用本地(在 google 云函数模拟器中),admin sdk 将无法获得正确的配置 json。您必须使用从 firebase 控制台获得的服务帐户 json。
但是如果你部署了它,你的方法就可以正常工作。