从Firebase云函数获取响应

aoyhnmkz  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(150)

我在firebase中创建了一个云函数,我想将函数的响应返回到Android应用程序。Cloud functions是用typescript编写的,如下所示

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的值?

dbf7pr2w

dbf7pr2w1#

由于您的云函数是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
从Android应用向HTTP端点发送HTTP请求有几种可能的方法。例如,您可以使用Volley库,android-async-http库或Retrofit库。
请注意,切换到HTTPS可调用云函数而不是“简单”HTTPS云函数可能会很有趣。
doc中所述,“Cloud Functions for Firebase client SDK允许您直接从Firebase应用调用函数。要以这种方式从应用调用函数,请在Cloud Functions中编写并部署HTTPS Callable函数”。
在HTTPS Callable函数提供的优点中,你会发现它“自动反序列化请求主体”,它“验证auth令牌”,以及你不需要使用额外的库来调用函数,而只是使用文档中详细说明的代码。

相关问题