我有一个Xcode应用程序(用Swift编写),该应用程序调用在Firebase中部署的HTTP python函数。它应该获得响应,但是出于某种原因,它总是在数据为零时才返回。
Error
以下是用python编写的Google云函数。根据{{3}},Firebase函数使用Flask处理HTTP请求。
// 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)
}
}
我知道python_callable函数正在被调用并且正在接收请求,但是无论我做什么,看来我都无法获得Swift函数来获取响应。它总是收到空值。 httpsCallable期望/ #deployed python Firestore function
import Flask
def python_callable(request):
** processes firestore data **
result = {"text":"example", "score": 100}
return jsonify(data=result)
使用不正确的特定响应格式吗?
答案 0 :(得分:1)
“可调用”功能。除非您在函数本身中实现可调用协议,否则它们不适用于Python。如果要调用用python编写的常规HTTP函数,则无法使用客户端上的Firebase SDK调用它。
如果您想尝试在服务器端实现协议,请参见以下文档:可调用对象的工作方式:https://firebase.google.com/docs/functions/callable-reference