web-dev-qa-db-ja.com

APIキーが「SG」で始まっていません。 SendGrid

Heroku NodeJSアプリでSendGridアドオンを設定しようとしています。 APIキーを作成し、環境変数として設定しました。

APIキー全体は次のようになります:SG.actualValue.bbb_cccccc

最初に行った設定では、キー全体をSENDGRID_API_KEYとして設定していたため、次のエラーが発生しました。

APIキーがSGで始まっていません。

したがって、私は間違いを認識し、環境変数を設定解除して、キー全体のactualValue部分にのみ再設定しました。

ただし、同じエラーが発生します。同じことをやり直すか、ターミナル(実際には、ノートパソコン全体)を再起動しました。

これは、SendGridセットアップページから実行しようとしているテストコードです。

const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY)
const msg = {
  to: '[email protected]',
  from: '[email protected]',
  subject: 'Sending with Twilio SendGrid is Fun',
  text: 'and easy to do anywhere, even with Node.js',
  html: '<strong>and easy to do anywhere, even with Node.js</strong>',
};
sgMail.send(msg);

新しいキーを作成して設定しようとしましたが、同じエラーが発生します。キー全体に設定してみましたが、「。SG」またはbbb_cccccの部分はありません。前もって感謝します。

1
Cortoloman

hello thereノードjsを使用している場合は、sendgrid/nodemailerモジュールを必要とするファイル内にrequire( 'dotenv')。config()があることを確認してください。これがないと、sendgridトランスポーターはapi_keyの代わりに未定義の値を持ちます。私も同じ問題に遭遇し、解決しました。

1

私はSendGrids v3とdotenv v8.2を使用しています。Node.jsSendGridで環境ファイルSendGrid.envをセットアップし、その中にエクスポートSENDGRID_API_KEYを含めました。

sendEmailファイルの先頭は次のようになります。require( 'dotenv')。config(); const sgMail = require( '@ sendgrid/mail'); const apiKey = ${process.env.SENDGRID_API_KEY}; console.log( "SendGrid key"、apiKey);

私の.envファイルは次のようになります:SENDGRID_API_KEY = 'SG。{left blank} ................ 0EmA' ANOTHER_API_KEY = 'ANOTEHERKEY'

これがお役に立てば幸いです。

0
Rogelio Moreno