[解決済み] API Keyが "SG "で始まっていない。センドグリッド
2022-02-08 08:15:54
質問内容
Heroku NodeJSアプリでSendGridアドオンをセットアップしようとしています。 API Keyを作成し、環境変数として設定しました。
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_ccccの部分だけにしてみたりしました。 よろしくお願いします。
解決方法を教えてください。
<ブロッククオートAPIキーがSGで始まらない。
は、SendGridのAPIキーを意味します。
すべき
で始まる
SG.
つまり、環境変数が正しく設定されていないのですね。確認する必要があります。ただ
console.log
環境変数を表示します。または、次のように使用します。
$ heroku run bash -a mighty-river-12802
を使ってアプリのコンソールを起動し
printenv
で環境変数を表示します。
Running bash on ⬢ mighty-river-12802... up, run.1571 (Free)
~ $ printenv
TERM=xterm-256color
WEB_MEMORY=512
MEMORY_AVAILABLE=512
COLUMNS=367
DYNO=run.1571
PATH=/app/.heroku/node/bin:/app/.heroku/yarn/bin:/usr/local/bin:/usr/bin:/bin:/app/bin:/app/node_modules/.bin
WEB_CONCURRENCY=1
_=/usr/bin/printenv
PWD=/app
PS1=\[\033[01;34m\]\w\[\033[00m\] \[\033[01;32m\]$ \[\033[00m\]
NODE_ENV=production
LINES=49
TIMES=5
HOME=/app
SHLVL=2
PORT=6791
NODE_HOME=/app/.heroku/node
TIMES: 5
環境変数は、heroku config vars で設定します。
例
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)
.then(() => console.log('send mail success'))
.catch(console.log);
$ export SENDGRID_API_KEY=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
$ node index.js
send mail success
予想通りメールを受信しました。
関連
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み] [Solved] Uncaught TypeError: nullのプロパティ 'appendChild' を読み取ることができない。
-
[解決済み】getElementByIdはnullを返す?[クローズド]
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] テキストボックスのEnterキーで、JavaScriptでボタンクリックをトリガーする
-
[解決済み] JSON.stringifyでErrorを文字列化することはできないのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】このエラーの原因は何ですか - "Fatal error: ローカルgruntを見つけることができません"
-
[解決済み】SecurityError: オリジンを持つフレームがクロスオリジンフレームにアクセスするのをブロックした
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】Kendo Observable Bindingと併用する場合、Kendo Switch Labelsを変更することは可能ですか?[Kendo-UI]です。
-
[解決済み】Jestが予期しないトークンに遭遇した
-
[解決済み】PhantomJS 2.1.1を使用してReactJSアプリケーションをレンダリングできない理由とは?
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】ETIMEDOUTエラーの対処方法は?