首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android send HTTP POST使用Retrofit触发云函数

Android send HTTP POST使用Retrofit触发云函数
EN

Stack Overflow用户
提问于 2019-03-15 07:20:26
回答 1查看 567关注 0票数 2

我有一个使用"context.auth.uid“的云函数,出于JSON解析的原因,我想使用Retrofit而不是Firebase函数API来触发它。但是当我尝试这样做的时候,我得到了这个错误:Request has incorrect Content-Type. app/google-services.json。我不知道如何传递函数API传递的身份验证信息。下面是我的代码:

云函数HTTP函数:

代码语言:javascript
复制
exports.getMatches = functions.https.onCall((req, context) => {

    var uid = context.auth.uid;
    console.log("uid: ", uid);
});

用于改装的安卓SearchAPI接口

代码语言:javascript
复制
public interface ElasticSearchAPI
 {

    @POST("getMatches/")
    Call<ElasticHitsObject> getMatches(@Header("Content-Type") String 
    content_type,@Header("Authorization") String secretKey);

 }

Android调用函数

代码语言:javascript
复制
   Call<ElasticHitsObject> call = searchAPI.getMatches("app/google-services.json","api_key");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-15 08:16:42

正如您在代码中声明的那样,Retrofit不知道如何调用callable functions。他们有一个旨在与Firebase client SDK一起使用的special protocol

如果你想使用一个超文本传输协议客户端库来调用一个云函数,你应该做一个HTTP function,而不是一个可调用的。请注意,它们的声明方式不同。一个以functions.https.onCall()开头,另一个以functions.https.onRequest()开头。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55173438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档