SendGrid API密钥不起作用。 “提供的授权许可无效,过期或被撤销”

发送网格似乎阻止我的节点js服务器发送电子邮件。

我在发送电子邮件的回复中收到此错误消息:

“提供的授权许可无效,过期或被撤销”

我也有一个API密钥设置,并遵循文档。

您需要使用API​​ KEY GENERATED

在这里输入图像描述

不要使用API​​密钥ID

在这里输入图像描述

在创buildSendgrid时,只会显示一次生成的密钥。 在这里输入图像描述

如果您在创build密钥时没有将其logging在某个位置,则需要创build一个新密钥,然后您可能需要删除旧密钥,因为如果您不知道密钥是什么,那么将无用。

仅供参考:以上屏幕截图中的API密钥已被删除。 我马上把它删除了,所以请不要担心我泄漏那个密钥。

在Sendgrid v3中,我在Node JS中使用envvariables时遇到了类似的问题。 如果我使用envvariables,我得到上述问题。 但是,如果我把string放到require过程中,它就可以工作。

不起作用:

SENDGRID_API_KEY=SG.XXXXXXXXXXXXXXXXXXX var sg = require('sendgrid')(process.env.SENDGRID_API_KEY); 

作品

 var sg = require('sendgrid')('SG.XXXXXXXXXXXXXXXXXXX'); 

用生成的API密钥replaceSG.XXXXXXXXXXXXXXXXXXX(在密钥生成期间您只能看到一次)。

编辑

注意:确保您不要将其保存到公共存储库。 如果任何人都可以使用您的API密钥,并且您的帐户也将暂时由Sendgrid团队暂停,直到您将其从存储库中删除。

这是一个迟到的答案和JAVA面向..但我只是复制文件,没有注意到..

 SendGrid sg = new SendGrid(System.getenv("SENDGRID_API_KEY")); 

我只是把我的钥匙放在那里, 没有看到getEnv 。 当然是愚蠢的..但是当试图快速地工作的时候…