【问题标题】:How to call Firebase Callable Functions with HTTP?如何使用 HTTP 调用 Firebase 可调用函数?
【发布时间】:2018-09-03 16:46:26
【问题描述】:

我意识到新的Callable Cloud Functions 仍然可以像HTTP events 一样被调用,即仍然可以在http://us-central1-$projectname.cloudfunctions.net/$functionname 下访问它们。这样做时,我在 Cloud Functions 日志中收到一条错误消息

Request has invalid method. GET 

这意味着 HTTP-GET 不起作用,但是有没有办法调用这些函数?也许他们正在使用 HTTP-CONNECT

【问题讨论】:

    标签: firebase google-cloud-functions http-get


    【解决方案1】:

    编辑:协议的详细信息现在是formally documented

    HTTPS Callable 函数必须使用POST 方法调用,Content-Type 必须是application/jsonapplication/json; charset=utf-8,并且主体必须包含一个名为data 的字段,以便将数据传递给该方法.

    示例正文:

    {
        "data": {
            "aString": "some string",
            "anInt": 57,
            "aFloat": 1.23
        }
    }
    

    如果您通过创建自己的 http 请求来调用函数,您可能会发现改用常规 HTTPS 函数更灵活。

    【讨论】:

      【解决方案2】:

      您可以使用 Firebase CLI firebase functions:shell 调用 onCall(..) 函数。

      这种方法的一个重要好处是,您可以从 shell 运行本地环境中可用的功能。 - Firestore 调用等 - 无需将这些功能实际部署到云项目中。

      步骤:

      1. 运行cmd:firebase functions:shell
      • 这会给你提示firebase >
      1. 在提示符处调用函数,如果没有参数则传递空体
      • 火力基地 > someFuncAbc({})

      感谢在这个帖子中回答:https://stackoverflow.com/a/62051894/2162226

      是的,这个答案偏离了请求如何使用 HTTP 执行此操作的 OP .. 但在此处添加作为一种替代方式,只需从 CLI 进行调用,而无需设置 HTTP 标头,设置 HTTP 客户端,如curl邮递员

      【讨论】:

        猜你喜欢
        • 2020-04-27
        • 2021-08-09
        • 2020-07-24
        • 2020-04-18
        • 2022-01-25
        • 2018-10-21
        • 2021-10-09
        • 1970-01-01
        • 2021-09-16
        相关资源
        最近更新 更多