Javascript Firebase web客户端重写https.onRequest函数返回的错误消息,如何防止?

Javascript Firebase web客户端重写https.onRequest函数返回的错误消息,如何防止?,javascript,firebase,google-cloud-functions,Javascript,Firebase,Google Cloud Functions,我无法检索从“https.onRequest”函数返回的消息。firebase客户端根据错误代码重写消息,我无法恢复最初发送的正文或JSON 有关Firebase功能的: exports.auth = functions.https.onRequest( (request, response) => { cors(request, response, async () => { try { return response.status(

我无法检索从“https.onRequest”函数返回的消息。firebase客户端根据错误代码重写消息,我无法恢复最初发送的正文或JSON

有关Firebase功能的

exports.auth = functions.https.onRequest( (request, response) => {
    cors(request, response, async () => {
        try {
            return response.status(200).json({
                    data: "Hello"
                });

        } catch (error) {
            return response
                .status(403)
                .send('User not activated')
        }
    });
});
如果我在chrome开发控制台中分析请求的返回,一切正常: 正文(response.send):“用户未激活”

但在正面

auth: function (email, password) {
    var register = firebaseFunctions.httpsCallable('auth');

    return register({
            email: email,
            password: password
        })
        .then(async (result) => {
            // ...
        })
        .catch((err) => {
            throw err
        });
}
在我的捕获声明中

err.message > permission-denied
err.details > undefined
err.code > 403
我不知道如何恢复我发送的“用户未激活”消息,这将允许我更准确地处理403错误代码:用户无法连接,因为它未激活


非常感谢

您混淆了可调用和常规HTTP类型的函数。那根本行不通

在函数方面,使用onRequest回调将函数声明为常规函数。这意味着您需要使用HTTP客户端库来访问它

在客户端,您正试图使用Functions client SDK作为调用函数。这要求您使用onCall回调来声明函数,而不是现在使用的onRequest回调。可调用项具有由客户端SDK实现的


客户端和服务器必须匹配;现在他们没有。如果要使用可调用函数,请按照链接文档中的所有说明进行操作。如果需要常规HTTP类型函数,则不能使用客户端SDK函数。您必须使用其他HTTP客户端库。

您将可调用函数和常规HTTP类型函数混为一谈。那根本行不通

在函数方面,使用onRequest回调将函数声明为常规函数。这意味着您需要使用HTTP客户端库来访问它

在客户端,您正试图使用Functions client SDK作为调用函数。这要求您使用onCall回调来声明函数,而不是现在使用的onRequest回调。可调用项具有由客户端SDK实现的

客户端和服务器必须匹配;现在他们没有。如果要使用可调用函数,请按照链接文档中的所有说明进行操作。如果需要常规HTTP类型函数,则不能使用客户端SDK函数。您必须使用其他HTTP客户端库