在使用Gmail API的Node.js客户端时,userId
参数用于指定要执行操作的用户邮箱地址。以下是一些使用案例,展示了如何在不同的Gmail API操作中使用userId
。
const { google } = require('googleapis');
const gmail = google.gmail('v1');
async function listMessages(userId) {
try {
const res = await gmail.users.messages.list({
auth: yourAuthClient, // 使用你的认证客户端
userId: userId,
});
console.log(res.data);
} catch (err) {
console.error('Error listing messages:', err);
}
}
listMessages('me'); // 使用'me'代表当前授权的用户
const { google } = require('googleapis');
const gmail = google.gmail('v1');
async function sendMessage(userId, message) {
try {
const res = await gmail.users.messages.send({
auth: yourAuthClient, // 使用你的认证客户端
userId: userId,
resource: message,
});
console.log(res.data);
} catch (err) {
console.error('Error sending message:', err);
}
}
const message = {
raw: Buffer.from('Subject: Test\r\n\r\nThis is a test email').toString('base64'),
};
sendMessage('me', message); // 使用'me'代表当前授权的用户
const { google } = require('googleapis');
const gmail = google.gmail('v1');
async function getMessage(userId, messageId) {
try {
const res = await gmail.users.messages.get({
auth: yourAuthClient, // 使用你的认证客户端
userId: userId,
id: messageId,
});
console.log(res.data);
} catch (err) {
console.error('Error getting message:', err);
}
}
getMessage('me', 'your-message-id'); // 使用'me'代表当前授权的用户
const { google } = require('googleapis');
const gmail = google.gmail('v1');
async function deleteMessage(userId, messageId) {
try {
await gmail.users.messages.delete({
auth: yourAuthClient, // 使用你的认证客户端
userId: userId,
id: messageId,
});
console.log('Message deleted successfully');
} catch (err) {
console.error('Error deleting message:', err);
}
}
deleteMessage('me', 'your-message-id'); // 使用'me'代表当前授权的用户
基础概念:
'me'
,表示当前经过OAuth 2.0认证的用户。也可以直接指定用户的邮箱地址。优势:
应用场景:
问题1: 认证失败
问题2: 权限不足
问题3: 网络错误
通过以上示例和解释,你应该能够在Node.js中使用Gmail API的userId
参数进行各种邮件操作。
API网关系列直播
云+社区技术沙龙[第4期]
云+社区技术沙龙[第14期]
云原生正发声
云+社区技术沙龙[第21期]
云+社区开发者大会(杭州站)
腾讯云GAME-TECH游戏开发者技术沙龙
小程序·云开发官方直播课(数据库方向)
云+社区技术沙龙[第7期]
领取专属 10元无门槛券
手把手带您无忧上云