Я вижу, что функция теперь работает в журнале облачных функций. Она отправляет информацию о пользователях на основе их электронной почты, однако я не могу получить эти данные обратно в клиент приложения, она просто поступает черезas Optional(<FIRHTTPSCallableResult: 0x2825b0b70>)
Вот мой код функции:
import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'
admin.initializeApp()
exports.uniqueEmail = functions.https.onCall((data) => {
const email = data.email;
if (!email) {
throw new functions.https.HttpsError('invalid-argument', 'Missing email parameter');
}
admin.auth().getUserByEmail(email)
.then(function(userRecord) {
// See the UserRecord reference doc for the contents of userRecord.
console.log('Successfully fetched user data:', userRecord.toJSON());
return "true"
})
.catch(function(error) {
console.log('Error fetching user data:', error);
return "false"
});
});
Вот мой быстрый код, пытающийся распечатать на консоли данные, которые я должен получить обратно:
else if (email != "" && password == ""){
print("testing...")
let functions = Functions.functions()
functions.httpsCallable("uniqueEmail").call(["email": email]) { (result, error) in
if let error = error as NSError? {
if error.domain == FunctionsErrorDomain {
let code = FunctionsErrorCode(rawValue: error.code)
let message = error.localizedDescription
let details = error.userInfo[FunctionsErrorDetailsKey]
print("CODE:", code, " ","Message:", message, " ","DETAILS:", details)
}
// ...
}
print(result)
if let text = (result?.data as? [String: Any])?["email"] as? String {
let output = text
print(output)
}
}
}