2

サービス アカウントと JWT 認証を使用してメールを送信しようとしていますが、非常に役に立たないメッセージでエラーが発生し続けます。{ code: 500, message: null }

このコード スニペットは、次の StackOverflow リンクからのものです: nodejs で Google API を介してメールを送信できませんでした

resourceパラメータのキーを代わりに変更することが解決策のように思えますがmessage、私にとってはうまくいきません。ドキュメント ( https://developers.google.com/gmail/api/v1/reference/users/messages/send ) の JS の例では、キーがまだあると主張しているため、これは奇妙ですmessage

で認証しています

var jwtClient = new google.auth.JWT(config.SERVICE_EMAIL, config.SERVICE_KEY_PATH, null, config.ALLOWED_SCOPES);

次に、メールを送信します

jwtClient.authorize(function(err, res) {
  if (err) return console.log('err', err);

  var email_lines = [];

  email_lines.push("From: \"Some Name Here\" <rootyadaim@gmail.com>");
  email_lines.push("To: hanochg@gmail.com");
  email_lines.push('Content-type: text/html;charset=iso-8859-1');
  email_lines.push('MIME-Version: 1.0');
  email_lines.push("Subject: New future subject here");
  email_lines.push("");
  email_lines.push("And the body text goes here");
  email_lines.push("<b>And the bold text goes here</b>");

  var email = email_lines.join("\r\n").trim();

  var base64EncodedEmailSafe = new Buffer(email).toString('base64').replace(/\+/g, '-').replace(/\//g, '_');

  var params = {
    auth: jwtClient,
    userId: "myaddress@gmail.com",
    resource: {
      raw: base64EncodedEmailSafe
    }
  };

  gmail.users.messages.send(params, function(err, res) {
    if (err) console.log('error sending mail', err);
    else console.log('great success', res);
  });
}

ライブラリのコメントは、リソースも正しいプロパティであると言っているようです ( https://github.com/google/google-api-nodejs-client/blob/master/apis/gmail/v1.js )

ライブラリのコメントは、リソースも正しいプロパティであると言っているようです 私は何が欠けていますか?

4

1 に答える 1