我想要做的是从我的节点 js rest api 向用户发送邮件,用户密码。我想知道如何仅使用 gmail api 和 api 密钥发送电子邮件。
问问题
2613 次
2 回答
1
Google 于 2015 年停止了其所有 API 的客户端登录(登录名和密码)。您无法使用登录名和密码访问 Google API。您的用户将需要使用 Oauth2 进行身份验证。
API 密钥仅用于访问公共数据。Gmail 是私人用户数据,需要您拥有访问权限才能访问这些数据。
如果您必须使用登录名和密码,那么我建议您尝试使用SMTP 或 IMAP服务器。我不是节点开发人员,抱歉,我无法为您提供帮助。
于 2017-03-20T08:06:03.390 回答
0
如果您想要使用 Gmail API 发送电子邮件而无需身份验证,则必须使用服务帐户并使用 jwt 进行身份验证。
示例代码:
const google = require('googleapis');
const gmail = google.gmail('v1');
const key = require('./mailing-bd0ff2b11546.json')//service acount jwt auth
let jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
['https://mail.google.com/'],
'<mail to suplant>'
);
function getMessagesList(data) {
return new Promise((resolve, reject) => {
jwtClient.authorize(function (err, tokens) {
if (err) {
console.error(err);
} else {
gmail.users.messages.list({
auth: jwtClient,
userId: 'me',
labelIds: 'INBOX'
}, (err, messageList) => {
...
...
...
以下是一些文档链接:创建服务帐户
于 2017-04-26T09:48:16.603 回答