HttpsCallable возврат из питона - PullRequest
       18

HttpsCallable возврат из питона

0 голосов
/ 08 февраля 2019

У меня есть приложение XCode (написанное на Swift), которое вызывает функцию Python HTTP, развернутую в Firebase.Он должен получить ответ в ответ, но по какой-то причине он всегда возвращается, когда данные равны нулю.

// swift function in xcode 

Functions.functions().httpsCallable("python_callable").call(["ID": ID, "time": String(currentTime)]) { (result, error) in
                        if error != nil {
                            //does not enter this
                            return
                        }
                        else {
                            guard let data = result?.data as? Data else {return}
                            print(data)
            }
    }

Ниже приведена облачная функция Google, написанная на python.Согласно документации Google Cloud , функция Firebase использует Flask для работы с HTTP-запросами.

#deployed python Firestore function 
    import Flask
    def python_callable(request):
        ** processes firestore data ** 
        result = {"text":"example", "score": 100}
        return jsonify(data=result)

Я знаю, что вызывается функция python_callable и что она получает запрос, однако кажется, что независимо от того, что я делаю, я не могу получить функцию Swift, чтобы получить ответ.Он всегда получает ноль.Существует ли определенный формат ответа, который httpsCallable ожидает / jsonify используется неправильно?

1 Ответ

0 голосов
/ 08 февраля 2019

«вызываемые» функции поддерживаются только в облачных функциях с использованием Firebase SDK для узла.Они не будут работать для Python, если вы не реализуете вызываемый протокол в самой функции.Если вы хотите вызвать обычную функцию HTTP, написанную на python, вы не сможете вызвать ее с помощью Firebase SDK на клиенте.

Если вы хотите попытаться реализовать протокол на сервересторона, документация о том, как работают callables здесь: https://firebase.google.com/docs/functions/callable-reference

...