gpt4 book ai didi

javascript - 如何从 firebase 中的函数检索数据

转载 作者:行者123 更新时间:2023-11-28 13:42:02 28 4
gpt4 key购买 nike

我可以看到该功能现在正在云功能日志中运行,它根据用户的电子邮件发回用户信息,但是,我似乎无法在应用程序客户端中检索回该数据,它只是通过作为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"
});
});

这是我的 swift 代码,试图将我应该取回的数据打印到控制台:

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)
}
}
}

最佳答案

现在您的 Cloud Functions 代码的顶层没有返回任何内容,因此您需要通过在顶层添加 return 来解决此问题:

exports.uniqueEmail = functions.https.onCall((data) => {
const email = data.email;
if (!email) {
throw new functions.https.HttpsError('invalid-argument', 'Missing email parameter');
}
return admin.auth().getUserByEmail(email).then(function(userRecord) {
console.log('Successfully fetched user data:', userRecord.toJSON());
return {"taken" : "true"}
}).catch(function(error) {
console.log('Error fetching user data:', error);
return({"taken": "false", error});
});
});

通过上面的代码,调用 Cloud Function 的代码会返回一个 JSON 对象,在 Swift 中将其转换为字典:[String, Any]

关于javascript - 如何从 firebase 中的函数检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55891116/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com