Ключ API SendGrid не работает. "Предоставленный грант на разрешение недействителен, истек или отменен"
Похоже, что SendGrid препятствует отправке электронной почты моим сервером js узла.
Я получаю это сообщение об ошибке в ответе на отправку электронного письма:
"Предоставленный грант авторизации недействителен, истек или аннулирован"
Я также настроил ключ API и следовал за документацией.
Ответы
Ответ 1
Вам нужно использовать API KEY GENERATED
![введите описание изображения здесь]()
НЕ ИСПОЛЬЗУЙТЕ идентификатор API KEY ID
![введите описание изображения здесь]()
Sendgrid показывает только сгенерированный ключ один раз при его создании. ![введите описание изображения здесь]()
Если вы не записали его где-то, когда вы создали ключ, вам нужно будет создать новый ключ, а затем вы, вероятно, захотите удалить старый ключ, так как это было бы бесполезно, если вы не знаете, что это есть.
FYI: Ключ API на скриншоте выше уже удален. Я удалил его сразу, поэтому, пожалуйста, не беспокойтесь обо мне, утечка этого ключа.
Ответ 2
Это поздний ответ и JAVA-ориентированный. Но я просто скопировал документы и не заметил.
SendGrid sg = new SendGrid(System.getenv("SENDGRID_API_KEY"));
Я просто поместил свой ключ и не увидел getEnv. Глупо конечно, но при попытке заставить вещи работать быстро...
Ответ 3
В Sendgrid v3 у меня была аналогичная проблема при использовании переменной env в Node JS. Если я использую переменную env, я получаю вышеупомянутую проблему. Но если я отброшу строку в требуемый процесс, она будет работать.
Не работает:
SENDGRID_API_KEY=SG.XXXXXXXXXXXXXXXXXXX
var sg = require('sendgrid')(process.env.SENDGRID_API_KEY);
Работы
var sg = require('sendgrid')('SG.XXXXXXXXXXXXXXXXXXX');
Замените SG.XXXXXXXXXXXXXXXXXX с помощью API Key Generated (который вы можете видеть только один раз во время генерации ключа).
ИЗМЕНИТЬ
Примечание. Убедитесь, что вы не сохраняете это в публичном репозитории. Если вы все можете использовать свой API-ключ, а также ваша учетная запись будет временно приостановлена командой Sendgrid, пока вы не удалите ее из репозитория.