Не удалось отправить электронное письмо через sengrid v3 api (java.io.IOException: запрос вернул код состояния 401)

Я пытаюсь отправить электронное письмо через sendGrid.

Я создал ключ API на сайте:

введите здесь описание изображения

введите здесь описание изображения

и написал следующий код:

Email fromEmail = new Email("[email protected]");
            subject = "Sending with SendGrid is Fun";
            Email toEmail = new Email("[email protected]");
            Content content = new Content("text/plain", "and easy to do anywhere, even with Java");
            Mail mail = new Mail(fromEmail, subject, toEmail, content);

            SendGrid sg = new SendGrid("9Vh5Wz9CQryyXVhWMFFQSw");
            Request request = new Request();
            try {
                request.setMethod(Method.POST);
                request.setEndpoint("mail/send");
                request.setBody(mail.build());
                Response response = sg.api(request);
                System.out.println(response.getStatusCode());
                System.out.println(response.getBody());
                System.out.println(response.getHeaders());
            } catch (IOException ex) {
                throw ex;
            }

Я получаю следующее исключение:

java.io.IOException: Request returned status Code 401Body:{"errors":[{"message":"The provided authorization grant is invalid, expired, or revoked","field":null,"help":null}]}
    at com.sendgrid.Client.executeApiCall(Client.java:287)
    at com.sendgrid.Client.post(Client.java:192)
    at com.sendgrid.Client.api(Client.java:310)
    at com.sendgrid.SendGrid.makeCall(SendGrid.java:151)
    at com.sendgrid.SendGrid.api(SendGrid.java:173)
    at pack.shared.email.EmailMessage$EmailService.sendEmail(EmailMessage.java:387)

Что я сделал не так?


person gstackoverflow    schedule 27.01.2018    source источник


Ответы (1)


Не используйте идентификатор ключа API. Вам нужно будет использовать сгенерированный ключ, который SendGrid отображает после создания ключа API. Если вы пропустили запись, вам нужно будет создать новый ключ.

person niclaszll    schedule 27.01.2018