Ошибка при попытке получить тело письма в последнем письме, Nodejs GMAIL api - PullRequest
0 голосов
/ 21 апреля 2020

Надеюсь, вы все в безопасности, Мой сценарий -> Получить список сообщений и получить идентификатор для каждого сообщения. Получить тело сообщения на основе идентификатора сообщения. Наконец, текст преобразован в Base64,

const gmailGetMessagesAsync = promisify(gmail.users.messages.get);
const gmailListMessagesAsync = promisify(gmail.users.messages.list);

let res = await gmailListMessagesAsync({
        auth: oauth2Client,
        userId: 'me'
    });
    const newestMessageId = res.messages[0].id;

res = await gmailGetMessagesAsync({
        auth: oauth2Client,
        userId: 'me',
        id: newestMessageId
    });

 const base64mailBody = res.payload.parts[0].body.data;
const mailBody = new Buffer(base64mailBody, 'base64').toString(); 

При этом я получаю сообщение об ошибке,

(node:9041) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '0' of undefined
    at main (/NODEGMAIL/getLabels.js:42:37)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:9041) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)

Благодарим Вас за помощь по этому вопросу

1 Ответ

1 голос
/ 21 апреля 2020

Do

JSON.parse(res) и вы получите свой объект. Вы можете получить доступ к контенту и управлять им позже.

...