Oauth 2.0 如何使用gmail api处理NodeEmailer smtp oauth2?获取错误535:未接受用户和密码

Oauth 2.0 如何使用gmail api处理NodeEmailer smtp oauth2?获取错误535:未接受用户和密码,oauth-2.0,gmail-api,nodemailer,feathersjs,Oauth 2.0,Gmail Api,Nodemailer,Feathersjs,我在谷歌API控制台仪表板上启用了Gmail API。 我创建了选择OAuth客户端Id、web应用程序和“”作为授权重定向uri的凭据。 通过使用上述凭证在OAuth 2.0游乐场中玩,并启用范围,我获得了刷新令牌。 const mailer = require('feathers-mailer'); const smtpTransport = require('nodemailer-smtp-transport'); app.use('/api/mailer', mailer(smtpTr

我在谷歌API控制台仪表板上启用了Gmail API。
我创建了选择OAuth客户端Id、web应用程序和“”作为授权重定向uri的凭据。
通过使用上述凭证在OAuth 2.0游乐场中玩,并启用范围,我获得了刷新令牌。

const mailer = require('feathers-mailer');
const smtpTransport = require('nodemailer-smtp-transport');

app.use('/api/mailer', mailer(smtpTransport({
    service: 'gmail',
    host: 'smtp.gmail.com',
    port: 587,
    secure: false,
    requireTLS: true,
    auth: {
      type: 'OAuth2',
      user: app.get('gmail'),
      scope: 'https://mail.google.com/',
      clientId: app.get('gmail_secret').client_id,
      clientSecret: app.get('gmail_secret').client_secret,
      refreshToken: app.get('gmail_credentials').refresh_token
    }
  })));
我收到错误535:用户名和密码不被接受,包括“command:auth plain”,以防万一。

我确信这些应用程序得到了正确的值,因为 我已经用精确的值替换了应用程序get,但它仍然给出了相同的错误。
我还尝试了删除“主机”、“端口”、“安全”、“requireTLS”的auth对象。同样的错误。
我尝试了auth:host:'smtp.gmail.com',端口:'465',安全:true。同样的错误。
在本地环境中,以防有助于修复错误。


如何修复此535错误?

Feathers Mailer包括NodeEmailr,并自动执行了
.createTransport
。SMTP传输模块出错,不需要<代码>邮件程序({transport object})工作正常