Проблема с отправкой электронной почты с функциями firebase - PullRequest
0 голосов
/ 05 января 2019

Я работаю над созданием кнопки, которая при нажатии отправит электронное письмо конкретному человеку (с его разрешения) с помощью облачных функций firebase в моем приложении IOS swift, и в настоящее время у меня возникают проблемы с кодом, который я сейчас использую , В данный момент я пытаюсь использовать этот быстрый запуск: https://github.com/firebase/functions-samples/tree/Node-8/quickstarts/email-users из этих уже созданных функций: https://github.com/firebase/functions-samples, и пытаюсь вызвать функцию sendWelcomeEmail. Я планирую изменить код для отправки специального сообщения, как только выясню, как заставить это работать вместо приветственного письма. Я выполнил все необходимые шаги, включая проверку подлинности моей учетной записи Google, и все, что сказано, должно быть сделано в инструкциях, но когда я запускаю свой код для вызова функции и печатаю ошибку, которая появляется, я получаю:

Ошибка домена = com.firebase.functions Код = 16 «НЕАУТЕНТИФИЦИРОВАНО» UserInfo = {NSLocalizedDescription = НЕАУТЕНТИФИЦИРОВАНО}

Я искал эту ошибку по всему Интернету, и ничего не появляется. Буквально нет упоминания об этой ошибке, и я не уверен, что это проблема с 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 голосов
/ 05 января 2019

Вы неправильно понимаете пример кода. Код быстрого запуска, на который вы ссылаетесь, определяет две облачные функции: sendWelcomeEmail и sendByeEmail. Это триггеры аутентификации , и они запускаются, когда пользователь создает учетную запись, а затем удаляет свою учетную запись. Это происходит только тогда, когда приложение позволяет пользователю создавать и удалять свои учетные записи с помощью API-интерфейса аутентификации Firebase.

Вы пытаетесь вручную вызвать одну из этих функций, как если бы она была вызываемой функцией . Но это не «вызываемые» функции. Это триггеры аутентификации, и они запускаются автоматически, когда пользователь управляет своей учетной записью. Вы не можете просто вызвать триггер типа фона с помощью Firebase SDK. Если единственными функциями, которые вы можете вызвать напрямую с помощью Firebase SDK, являются вызываемые функции .

Итак, то, что вы пытаетесь сделать здесь, никогда не сработает, потому что у вас нет вызываемых функций. Пожалуйста, просмотрите эти ссылки на документацию еще раз, чтобы понять ожидания для каждого из этих типов функций.

...