Search code examples
firebasegoogle-cloud-functionshttp-get

How to call Firebase Callable Functions with HTTP?


I realised that the new Callable Cloud Functions can still be called as if they were HTTP events, i.e. they can still be reached under http://us-central1-$projectname.cloudfunctions.net/$functionname. When doing that I receive an error message in my Cloud Functions Log:

Request has invalid method. GET 

This means that HTTP-GET does not work, but is there a way to call the functions? Maybe they are using HTTP-CONNECT.


Solution

  • EDIT: The details of the protocol have been formally documented now.

    HTTPS Callable functions must be called using the POST method, the Content-Type must be application/json or application/json; charset=utf-8, and the body must contain a field called data for the data to be passed to the method.

    Example body:

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

    If you are calling a function by creating your own http request, you may find it more flexible to use a regular HTTPS function instead.