如何使用HTTP调用Firebase可调用函数?

时间:2018-03-25 13:12:31

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

我意识到新的Callable Cloud Functions仍然可以被称为HTTP events,即它们仍然可以在http://us-central1-$projectname.cloudfunctions.net/$functionname下到达。这样做时,我在云功能日志中收到错误消息:

Request has invalid method. GET 

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

2 个答案:

答案 0 :(得分:19)

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

必须使用POST方法调用HTTPS可调用函数,Content-Type必须为application/jsonapplication/json; charset=utf-8,并且正文必须包含名为{{1}的字段用于传递给方法的数据。

示例正文:

data

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

答案 1 :(得分:3)

您可以使用Firebase CLI Options -MultiViews 调用firebase functions:shell函数

步骤:

  1. 运行cmd:onCall(..)
  • 这会提示您firebase functions:shell
  1. 在提示符下调用func,如果没有参数,则传递空的正文
  • firebase> firebase >

仅通过部署的功能进行测试。

感谢您在此线程中回答:https://stackoverflow.com/a/62051894/2162226

是的,此答案与请求如何使用HTTP进行操作的OP有所不同。但是在此处添加了另一种方法,使其可以从CLI进行简单的调用,而无需设置HTTP标头,像这样设置HTTP客户端someFuncAbc({})邮递员