代码之家  ›  专栏  ›  技术社区  ›  James

无法使用Firebase的云功能通过电子邮件获取用户

  •  0
  • James  · 技术社区  · 7 年前

    admin.auth().getUserByEmail() 方法

    因为我在使用云函数,所以我读到 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);
        })
    });
    

    有没有人有这方面的经验,能告诉我我做错了什么?

    1 回复  |  直到 7 年前
        1
  •  2
  •   user6259970 user6259970    7 年前

    如果您使用localy(在google cloud functions emulator中),管理sdk将无法获得正确的配置json。您必须使用从firebase控制台获得的服务帐户json。

    但如果您已经部署了它,那么您的方法就会很好地工作。