当尝试获取最后一封邮件中的电子邮件正文时出错,可以通过以下步骤进行排查和解决:
const { google } = require('googleapis');
const { OAuth2Client } = require('google-auth-library');
async function getLatestEmailBody() {
// 创建 OAuth2Client 实例
const oauth2Client = new OAuth2Client('YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET');
// 设置访问令牌
oauth2Client.setCredentials({
access_token: 'YOUR_ACCESS_TOKEN',
refresh_token: 'YOUR_REFRESH_TOKEN',
});
try {
// 创建 GMAIL API 客户端
const gmail = google.gmail({
version: 'v1',
auth: oauth2Client,
});
// 获取邮件列表
const listResponse = await gmail.users.messages.list({
userId: 'me',
maxResults: 1, // 获取最后一封邮件
q: 'is:inbox', // 过滤条件,可根据实际需求修改
});
const messageId = listResponse.data.messages[0].id;
// 获取邮件详情
const getResponse = await gmail.users.messages.get({
userId: 'me',
id: messageId,
format: 'full',
});
// 提取邮件正文
const emailBody = getResponse.data.payload.parts[0].body.data;
const decodedEmailBody = Buffer.from(emailBody, 'base64').toString('utf-8');
console.log(decodedEmailBody);
} catch (error) {
console.error('Error retrieving email body:', error);
}
}
getLatestEmailBody();
请注意替换代码中的 'YOUR_CLIENT_ID'
、'YOUR_CLIENT_SECRET'
、'YOUR_ACCESS_TOKEN'
和 'YOUR_REFRESH_TOKEN'
分别为你自己的客户端 ID、客户端密钥、访问令牌和刷新令牌。
总结: 尝试获取最后一封邮件中的电子邮件正文时出错,可以通过检查权限、确认 API 调用和错误处理来排查和解决问题。腾讯云提供了丰富的文档和示例代码,方便开发者使用 Node.js GMAIL API 进行开发和调试。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云