Я развернул этот код в своем проекте функций Firebase:
import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'
admin.initializeApp()
export const getEmail = functions.https.onRequest((request, response) => {
var from = request.body.sender;
admin.auth().getUserByEmail(from)
.then(snapshot => {
const data = snapshot.toJSON()
response.send(data)
})
.catch(error => {
//Handle error
console.log(error)
response.status(500).send(error)
})
})
, который принимает параметр электронной почты, который он получает от ввода пользователя в моем приложении. Код моего приложения выглядит следующим образом:
Functions.functions().httpsCallable("https://us-central1-projectname.cloudfunctions.net/getEmail").call(email) { (result, error) in
if let error = error as NSError? {
if error.domain == FunctionsErrorDomain {
//email isnt taken
let code = FunctionsErrorCode(rawValue: error.code)
let message = error.localizedDescription
let details = error.userInfo[FunctionsErrorDetailsKey]
print(code, message, details)
}
// ...
}
if let text = (result?.data as? [String: Any])?["text"] as? String {
// email taken
}
}
Когда я запускаю приложение и когда эта функция вызывается, кажется, что она ничего не делает, сообщение об ошибке не отображается и данные не отправляются обратно. Что мне не хватает?
Обновление: я зашел в логи и там ничего не произошло, как будто функция никогда не вызывалась.