Запросить список транзакций из Paypal

Я пытаюсь запросить список транзакций у PayPal, но всегда получаю HTTP-код 400

public void getTransactionList(String accessToken)
{
    try
    {
        URL url = new URL(
            "https://api.sandbox.paypal.com/v1/reporting/transactions"
                + "?start_date=2018-01-01T00:00:00Z&end_date=2018-04-01T00:00:00Z"
                + "&fields=all&page_size=100&page=1");

        HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
        conn.setRequestMethod("GET");
        conn.setRequestProperty("Authorization", "Bearer " + accessToken);
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setRequestProperty("Accept-Language", "en_US");
        conn.setUseCaches(false);
        conn.setDoOutput(true);

        String line;
        BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));

        while ((line = reader.readLine()) != null)
        {
            System.out.println(line);
        }
        reader.close();
    }
    catch (Throwable e)
    {
        e.printStackTrace();
        //throw new ActionException(e);
    }
}

Исключение составляет

java.io.IOException: Server returned HTTP response code: 400 for URL: https://api.sandbox.paypal.com/v1/reporting/transactions?start_date=2018-01-01T00:00:00-000&end_date=2018-04-02T00:00:00-000&fields=all&page_size=100&page=1
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at de.crefo.workflow.paypal.http.HttpRestClient.getTransactionList(HttpRestClient.java:42)
at de.crefo.workflow.paypal.http.HttpRestClient.main(HttpRestClient.java:112)

Запрос Access-Token, который я делаю аналогичным образом, работает отлично и дает мне действующий токен. Что я делаю неправильно?

РЕДАКТИРОВАТЬ. Изменен формат даты в URL, см. Комментарии.

Почему вы отправляете Content-Type в запросе GET?

Sandeep Randhawa 15.03.2018 10:30

Потому что это в примере curl от PayPal: developer.paypal.com/docs/integration/direct/sync/… Но даже без него я получаю то же исключение

Eardy 15.03.2018 10:37

@Eardy: Правильны ли форматы времени начала и окончания? start_date = 2018-01-01T00: 00: 00-000 & end_date = 2018-04-02T00: 00‌: 00-000 Я думаю, это должно быть start_date = 2018-01-01T00: 00: 00-00: 00 & end_date = 2018-04 -02T00: ‌ 00: 00-00: 00

menaka_ 15.03.2018 10:41

Я думаю, что проблема в параметрах запроса, которые вы отправляете в запросе. Можете ли вы подтвердить из документации API Paypal, что вы отправляете правильные параметры запроса?

Sandeep Randhawa 15.03.2018 10:41

Вы были правы, формат даты должен быть другим (2018-01-01T00: 00: 00Z), но я все равно получаю то же исключение

Eardy 15.03.2018 11:01

В конце концов, я обнаружил, что невозможно запрашивать транзакции без transactionId, даже если в API-документации об этом не сказано. Я перешел на NVP API и теперь у меня все не работает

Eardy 12.04.2018 10:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
222
0

Другие вопросы по теме