Исключение авторизации при реализации конечной точки "/ messages" в API sendgrid - PullRequest
0 голосов
/ 30 апреля 2019

Я занимаюсь разработкой приложения jsf + spring и пытаюсь получить все электронные письма, отправленные через api sendgrid, используя конечную точку "/ messages" .

Я попытался реализовать конечную точку "/ messages" в Java, аналогичную конечной точке "/ stats", упомянутой в примере здесь .Ниже приведен мой код

Я инициализирую объект сетки отправки в контексте моего приложения

<bean id="sendGrid" class="com.sendgrid.SendGrid">
    <constructor-arg name="apiKey" value="my_api_key"/>
</bean>

Затем я использую экземпляр этого объекта с автоматическим подключением в своем служебном компоненте следующим образом:

com.sendgrid.Request request = new Request();
try {
   request.setMethod(Method.GET);
   request.setEndpoint("messages");
   request.addQueryParam("limit", "10");
   request.addQueryParam("query", "status='processed'");
   com.sendgrid.Response response=sendGrid.api(request);
   LOGGER.debug(response.getBody());
} catch (IOException e) {
   LOGGER.error(ExceptionUtils.getStackTrace(e));
}

Однако я получаю следующее исключение

Отслеживание стека:

java.io.IOException: Request returned status Code 400 Body:{"errors":[{"message":"authorization required"}]}
at com.sendgrid.Client.executeApiCall(Client.java:287)
at com.sendgrid.Client.get(Client.java:163)
at com.sendgrid.Client.api(Client.java:308)
at com.sendgrid.SendGrid.makeCall(SendGrid.java:203)
at com.sendgrid.SendGrid.api(SendGrid.java:225)

Поскольку я могу успешно отправлять электронную почту и получать статистику.Я не думаю, что авторизация должна быть проблемой здесь.Я что-то не так или я что-то упустил?

Любые догадки или пожелания приветствуются.Спасибо

1 Ответ

0 голосов
/ 08 мая 2019

Я связался со службой поддержки sendgrid, и это была проблема с ключом API.Поскольку я пробовал бесплатную учетную запись, у меня не было доступа к этой конкретной конечной точке.Однако, как только я перешел на платную учетную запись с добавлением активности по электронной почте, все заработало.

...