如何从 Android 调用 Java/Kotlin GCP 云函数
Posted
技术标签:
【中文标题】如何从 Android 调用 Java/Kotlin GCP 云函数【英文标题】:How to call Java/Kotlin GCP Cloud Functions from Android 【发布时间】:2021-10-25 09:58:13 【问题描述】:我在 kotlin 中编写了一个 http 函数。从 GCP 测试时它工作正常。相同的几行是:
class WinnerDeclaration : HttpFunction
override fun service(request: HttpRequest?, response: HttpResponse?)
//code ...
参考https://firebase.google.com/docs/functions/callable#call_the_function后,我写了这段代码:
private val cloudFunctions = FirebaseFunctions.getInstance()
val data = hashMapOf("uid" to uid)
cloudFunctions
.getHttpsCallable("WinnerDeclaration")
.call(data)
.addOnSuccessListener
//code ...
.addOnFailureListener
it.printStackTrace()
但我总是遇到这个异常: com.google.firebase.functions.FirebaseFunctionsException: NOT_FOUND
【问题讨论】:
如果你熟悉 HTTP 请求,你可以使用 volley 或 retrofit 【参考方案1】:callable Cloud Functions 使用的onCall
协议仅适用于 Node.js/Firebase Functions SDK。 Google Cloud Functions 支持的任何其他服务器端库都没有实现。
因此,如果您想使用用 Java/Kotlin 编写的可调用 Cloud Functions,您必须自己实现 onCall
protocol 的服务器端版本。
【讨论】:
以上是关于如何从 Android 调用 Java/Kotlin GCP 云函数的主要内容,如果未能解决你的问题,请参考以下文章