HTTP-триггер Облачная функция в сети Flutter - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь позвонить HTTP trigger Cloud Function с Flutter. Я продолжаю получать ошибки в консоли при передаче параметров в функцию. Cloud Function

final HttpsCallable callable = CloudFunctions.instance.getHttpsCallable(
 functionName: 'hello_world',
);

final HttpsCallableResult result = await callable.call(
  <String, dynamic>{
    'message': 'hello world!',
  },
);

Может кто-нибудь указать, что я делаю неправильно. Cloud function используется

def hello_world(request):
    request_json = request.get_json()
    if request.args and 'message' in request.args:
        return request.args.get('message')
    elif request_json and 'message' in request_json:
        return request_json['message']
    else:
        return f'Hello World!'

1 Ответ

1 голос
/ 14 апреля 2020

На вашем скриншоте Google Cloud Console видно, что ваша функция HTTP Cloud записана в Python.

С другой стороны, в вашем коде Dart вы вызываете Callable Cloud Функция .

На момент написания функции Callable Cloud Functions поддерживаются только в облачных функциях с использованием Firebase SDK для Node.js.

Если вы хотите, чтобы облачная функция HTTP, написанная на Python, работала с вашим кодом Dart, вам потребуется реализовать протокол для https.onCall в самой облачной функции.

Вы найдете пример здесь (без проверки).


Обновите после вашего комментария выше: От вашего кода функции облака, мы можем подтвердить, что вы не реализуете протокол для https.onCall.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...