我在项目中使用stripe firestore发票云功能。我需要自定义它以满足我的用例,所以我没有安装扩展,而是下载了源代码并尝试部署。然而,发送发票的函数(它是一个firestore处理程序函数(没有得到部署,并引发以下错误:
! functions: failed to create function devInvoice-sendInvoice
HTTP Error: 400, Invalid JSON payload received. Unknown name "children" at 'function': Cannot find field.
Invalid JSON payload received. Unknown name "exit" at 'function': Cannot find field.
Invalid JSON payload received. Unknown name "message" at 'function': Cannot find field.
我正在运行最新版本的firebase-tools
:v8.9.0
我尝试将依赖项更新到它们的最新版本:
firebase-functions
:v3.11.0firebase-admin
:v9.1.1stripe
:v8.89.0
同样的错误仍然存在。
有趣-我遇到这个问题是因为我在做完全相同的事情(只是在我的情况下,使用firestore条纹订阅(。
如果您运行以下操作,它将提供错误消息的线索:
firebase deploy --only functions --debug
问题是缺少触发器。
奇怪的是,我发现根本原因似乎是Stripe源中的错误(至少这似乎阻碍了我的部署…(
更改https处理程序从:
functions.handler.https.onRequest
至
functions.https.onRequest
为我解决了这个问题。