使用 googleapis 几天后出现错误“令牌已过期或撤销”

问题描述

我创建了一个应用,每天向我发送几次关于我的日常任务的提醒。我正在使用 googleapis 和 nodemailer 来做到这一点(在 Heroku 上运行)。这是我的代码

const oauth2client = new OAuth2(
  client_id,client_secret,"https://developers.google.com/oauthplayground" // Redirect URL
);

oauth2client.setCredentials({
  refresh_token
});

const getTransporter = async () => {
  try {
    const accesstoken = await oauth2client.getAccesstoken();
    return nodemailer.createTransport({
      service: "gmail",auth: {
        type: "OAuth2",user: "my_email_address@gmail.com",clientId: cliend_id,clientSecret: client_secret,refreshToken: refresh_token,accesstoken: accesstoken,tls: {
          rejectUnauthorized: false
        }
      }
    });

const sendEmail = async () => {
  try {
      const transporter = await getTransporter();
      await transporter.sendMail(... // I hope you got the point by Now
  } catch(err) {
      console.log(...);
  }
}

问题是它可以工作,但几天后它停止工作并出现错误: 'invalid_grant',error_description: '令牌已过期或撤销。'

P.S - 我的 Google 帐户中没有任何安全警报。

我不知道为什么。请帮忙。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)