Проблемы с написанием ответных действий в функциях Firebase - PullRequest
0 голосов
/ 25 июня 2018

У меня есть функция в index.js, и я пытаюсь разрешить идентификатор учетной записи из ответа на API.Исходный ответ выглядит следующим образом:

{
    "data": {
        "user": null,
        "account": {
            "id": 865,
            "email": "mitch@gmail.com",
            "plan_identifier": "dnsimple-business",
            "created_at": "2018-06-24T00:55:29Z",
            "updated_at": "2018-06-24T00:56:49Z"
        }
    }
}

И мой код следующий:

exports.dnsCheckAuthorization = functions.https.onRequest((req, res) => {
    cors(req, res, () => {
        dnsimple.identity.whoami().then((response) => {
            return res.status(200).send(response.data.account.id);
        }).catch(error => (
            res.status(500).send(error)
        ))

    });
});

Наконец, я получаю сообщение об ошибке в PostMan:

Error: could not handle the request

И ошибка в журнале Firebase заключается в следующем:

Function execution took 519 ms, finished with status: 'response error'

Я перепробовал буквально все, что мог придумать, чтобы получить только идентификатор, возвращаемый этой функцией, и просто не могу понять,Чего мне не хватает?

ОБНОВЛЕНИЕ

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

exports.dnsCheckAuthorization = functions.https.onRequest((req, res) => {
    cors(req, res, () => {
        dnsimple.identity.whoami().then((response) => {
            var accountID = response.data.account.id;
            console.log('account id is', accountID);
            return res.status(200).json({id: accountID});
        }).catch(error => (
            res.status(500).send(error)
        ))

    });
});

1 Ответ

0 голосов
/ 25 июня 2018

res.send() является функцией только экспресс.Так что это может не сработать, если вы не создали свой сервер с помощью Express.Вместо этого вы можете использовать что-то вроде этого -

res.status(200).end(response.data.account.id)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...