2017-04-06 93 views
1

我有一个函数文件,我目前正在尝试执行的功能是访问Firebase身份验证()功能以检查一个用户存在,基于电子邮件,然后得到他们的uid。Firebase云功能 - 即使我为Firebase管理功能发出出站http请求,也会收到网络错误

我有一个角2应用,在那里我运行一个HTTP请求调用该函数,但任何时候我尝试运行它,我得到这个错误:

Billing account not configured. External network is not accessible and quotas are severely limited. Configure billing account to remove these restrictions 

这里是我的代码:

const functions = require('firebase-functions'); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 

/** 
* Function to get a user by email 
*/ 
exports.getUserByEmail = functions.https.onRequest((req, res) => { 
    console.log('req', req); 
    return admin.auth().getUserByEmail(req.query.email); 
}); 

这种类型的东西不允许在Spark计划?我仍在开发我的应用程序,这是我现在需要工作的唯一一件事情,我宁愿不必立即开始使用这个小功能。有什么我可以做的吗?

在此先感谢!

+0

可能的重复[云功能的Firebase - 帐户帐户未配置](https://stackoverflow.com/questions/42784135/cloud-functions-for-firebase-billing-account-not配置) – Suhaib

回答

8

在Spark计划上执行时,会出现所有函数的警告消息。这只是一个警告 - 如果你自己没有做任何出站网络,你可以忽略它。

我们正在考虑更改或删除该消息,以免混淆。

admin SDK应该可以正常工作。但是,你的函数没有正确返回一个响应,所以它不会显示任何内容。 HTTP triggers(请阅读这些文档)必须向客户端发送响应才能正常终止。他们不会像其他类型的功能一样返回承诺。

+0

我希望发送电子邮件不被视为出站网络......? – cuddlecheek

+1

@cuddlecheek这取决于路由邮件的主机。它是Gmail吗?这是一个谷歌的目的地,并没有阻止Spark计划。它是否是Google之外的第三方邮件服务器?不允许在Spark上。 –

+0

我正在使用我的http触发方法调用geo fire来计算两个位置点之间的距离。这是否被视为出站网络呼叫? –

0

要能够在Firebase云功能中提出外部请求,您必须先选择一个计划。 火焰或火焰计划在console.firebase.google.com

+0

我在布拉泽 - 我仍然得到这个警告。 –

相关问题