如何使用NodeJS获取Gmail账号中的邮件签名?
Node.js 获取Gmail账号邮件签名实现方案
核心通过Google官方提供的Gmail API即可实现,无需使用第三方非官方开发库。
前置操作
- 前往Google Cloud Console创建项目,开启Gmail API,生成OAuth2授权凭证,添加授权作用域
https://www.googleapis.com/auth/gmail.settings.basic,该权限仅支持读取Gmail基础设置,足够满足获取签名的需求。 - 安装Google官方Node.js SDK:
npm install googleapis
核心代码示例
const { google } = require('googleapis'); // 初始化OAuth2客户端,替换为你自己的凭证信息 const oauth2Client = new google.auth.OAuth2( 'YOUR_CLIENT_ID', 'YOUR_CLIENT_SECRET', 'YOUR_REDIRECT_URI' ); // 替换为你自己账号授权后拿到的access_token、refresh_token oauth2Client.setCredentials({ access_token: 'YOUR_ACCESS_TOKEN', refresh_token: 'YOUR_REFRESH_TOKEN' }); const gmail = google.gmail({ version: 'v1', auth: oauth2Client }); async function getGmailSignature() { const res = await gmail.users.settings.sendAs.get({ userId: 'me', sendAsEmail: '你的Gmail邮箱地址' }); // signature字段即为Gmail邮件签名,为HTML格式 console.log('邮箱签名:', res.data.signature); return res.data.signature; } getGmailSignature();
补充说明
- 如果你在Gmail中配置了多个发件人身份,可以调用
gmail.users.settings.sendAs.list接口获取所有发件人列表,遍历即可拿到每个身份对应的签名。 - 若调用时返回403权限错误,检查授权凭证是否正确添加了
gmail.settings.basic作用域,重新授权后再尝试。
内容的提问来源于stack exchange,提问作者Matviy Zhalivziv
相关产品推荐
相关产品推荐

