Я написал код для отправки почты из моей учетной записи Gmail в другую учетную запись с помощью OAuth2. В OAuth2 нам нужны refreshToken и accessToken, созданные на https://developers.google.com/oauthplayground/ Сгенерированный при этом accessToken истекает через 3600 секунд. Мне нужен код, который будет генерировать accessToken.
Я написал код, в котором я напрямую помещаю refreshToken и acessToken с этого сайта https://developers.google.com/oauthplayground/.
// основной файл кода javascript app.js
async function sendEmail() {
const nodemailer = require("nodemailer");
const { google } = require("googleapis");
const OAuth2 = google.auth.OAuth2;
const smtpTransport = nodemailer.createTransport({
service: "gmail",
auth: {
type: "OAuth2",
user: "***************@gmail.com",
clientId: "***********.apps.googleusercontent.com",
clientSecret: "*************",
refreshToken: "**************",
accessToken: "********************************"
}
});
const mailOptions = {
from: "**************@gmail.com",
to: "**************@gmail.com",
subject: "Hello",
generateTextFromHTML: true,
html: "<h1>TEST MAIL SAYS HELLO</h1>"
};
smtpTransport.sendMail(mailOptions, (error, response) => {
error ? console.log(error) : console.log(response);
smtpTransport.close();
});
}
sendEmail();
Это работает нормально, но я хочу, чтобы токен доступа был сгенерирован с использованием некоторого кода.