从Firebase云功能获取响应

时间:2018-10-06 05:43:44

标签: firebase google-cloud-functions

我已经在firebase中创建了一个云函数,我想将这些函数的响应返回给Android应用。 Cloud functionstypescript编写,就像

exports.validateOtp = functions.https.onRequest((req,res)=>{
   phoneNumber = req.query.phoneNumber;
   otp = req.query.otp;   
   getVal();
   function getVal(){
   let result = authFunction.userValidation(phoneNumber,otp).then(function(boolResult){
     return res.status(204).send(result);
   });
   }
 });

如何在客户端或Android应用程序中获取result的值?

1 个答案:

答案 0 :(得分:1)

由于您的Cloud Function是HTTPS,因此当您将HTTP请求(GET,POST,PUT,DELETE和OPTIONS)发送到函数端点时,它将被触发。

在您的情况下,函数端点URL将为

https://us-central1-<your-project-id>.cloudfunctions.net/validateOtp

请参阅https://firebase.google.com/docs/functions/http-events#invoke_an_http_function

有几种可能的方式将HTTP请求从Android应用发送到HTTP端点。例如,您可以使用Volley库,android-async-http库或Retrofit库。


请注意,切换到 HTTPS可调用云功能而不是“简单” HTTPS云功能可能很有趣。

doc中所述,“ Firebase客户端SDK的云功能可让您直接从Firebase应用程序调用函数。要以这种方式从应用程序调用函数,请在其中编写并部署HTTPS Callable函数。云功能”。

在HTTPS Callable函数提供的优点中,您会发现它“自动反序列化请求正文”,“验证身份令牌”以及不需要使用额外的库来进行更新的事实。调用函数,而只是使用doc中详细说明的代码。