web-dev-qa-db-fra.com

La clé API ne commence pas par "SG". Sendgrid

J'essaie de configurer SendGrid Add-on dans mon application Heroku Nodejs. J'ai créé la clé API et la définir comme une variable d'environnement.

Toute la clé API ressemble à quelque chose comme: sg.actualvalue.bbb_ccccccc

La première configuration que j'ai fait, j'ai défini la clé entière comme mon SendGrid_api_key et j'ai eu cette erreur:

La clé API ne commence pas avec SG.

Donc, j'ai réalisé l'erreur et la variable de l'environnement non défini et ne le réglez à nouveau qu'à la partie actuelleValue de toute la clé.

Cependant, j'ai toujours la même erreur. J'ai essayé de faire la même chose à nouveau ou redémarrer le terminal (en fait, tout ordinateur portable).

Ceci est le code de test que j'essaie de passer à partir de la page de configuration 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);

J'ai essayé de créer une nouvelle clé et de la définir, mais je reçois la même erreur. J'ai essayé de la mettre à l'ensemble de la clé, mais sans ".sg" ou juste la partie BBB_CCCCCCCCCCCCCC. Merci en avance.

6
Cortoloman

bonjour, si vous utilisez le nœud JS, assurez-vous de disposer d'avoir besoin ('dotenv'). Config () Dans le fichier qui nécessite le module SENDGRID/NODEMAILER. Sans cela, le transporteur SendGrid aura une valeur non définie au lieu de l'API_KEY. J'ai aussi rencontré le même problème et sa résolution.

1
Kazeem Erinfolami

Vous devez require('dotenv').config(); au début de votre fichier de test, sinon il ne sera pas en mesure de trouver votre clé.

0
luca