Firebase功能电子邮件发送出现问题

时间:2019-01-05 06:10:56

标签: ios swift firebase google-cloud-functions

我正在创建一个按钮,当按下该按钮时,它将通过IOS swift应用程序上的firebase云功能将电子邮件发送给特定的人(在他们的许可下),并且当前我正在使用的代码有问题。目前,我正在尝试从以下已创建的函数https://github.com/firebase/functions-samples/tree/Node-8/quickstarts/email-users中使用此快速入门:https://github.com/firebase/functions-samples,并试图调用sendWelcomeEmail函数。我计划弄清楚如何使它起作用而不是欢迎电子邮件时,更改代码以发送自定义消息。我已经按照所有必需的步骤进行操作,包括对我的Google帐户进行身份验证,以及所有需要在说明中完成的操作,但是当我运行代码以调用该函数并打印出现的错误时,我得到:

Error Domain = com.firebase.functions代码= 16“ UNAUTHENTICATED” UserInfo = {NSLocalizedDescription = UNAUTHENTICATED}

我已经在整个互联网上查找了此错误,但没有任何反应。从字面上没有提及此错误,并且我不确定这是否是Firebase或函数存在的问题,而我对如何继续进行工作并感到困惑。我正在运行的调用此函数的代码如下:

Functions.functions().httpsCallable("sendWelcomeEmail").call(["email": "myEmail@gmail.com", "displayName": "myName"], completion: { (result, error) in
                if let error = error {
                    print(error)
                }
                return
            })

除了使用该函数之外,我也非常乐意使用此函数发送此电子邮件,但是我不知道如何编写Javascript,也不知道如何编写一个。如果有人对如何解决此问题有答案,或者可以选择通过Firebase云功能向某人发送自定义电子邮件,那就太好了。

1 个答案:

答案 0 :(得分:1)

您误解了示例代码。您要链接的快速入门代码定义了两个Cloud Function:sendWelcomeEmailsendByeEmail。它们是authentication triggers,它们在用户创建帐户然后删除其帐户时触发。只有当应用允许用户使用Firebase身份验证API创建和删除其帐户时,这种情况才会发生。

您要执行的操作是手动调用这些功能之一,就好像它是callable function。但是这些不是“可调用的”功能。它们是身份验证触发器,在用户管理其帐户时会自动调用它们。您不能简单地使用Firebase SDK调用后台类型触发器。如果您可以直接使用Firebase SDK调用的唯一功能是callable functions

因此,您在此处尝试执行的操作将永远无法工作,因为您没有任何可调用的函数。请再次浏览这些文档链接,以了解对每种功能的期望。