Конечная точка истории GMAIL API возвращает код ответа 404 не найден только на Android - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь сделать вызов API GMAIL для конечной точки истории, используя historyId. Этот звонок работает на Почтальоне, и я получаю json ответ, как и должен. Но когда я пытаюсь реализовать то же самое в Android Studio, возвращается 404 Not Found Error. Кто-нибудь может мне помочь с этим?

URL urlHist = new URL("https://www.googleapis.com/gmail/v1/users/me/history?startHistoryId="+historyId);
            HttpURLConnection connHist = (HttpURLConnection) urlHist.openConnection();
            connHist.setRequestProperty("Authorization",token);
            connHist.setRequestMethod("GET");
            connHist.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
            connHist.setRequestProperty("Accept","application/json");
            connHist.setDoOutput(true);
            connHist.setDoInput(true);

            DataOutputStream os = new DataOutputStream(connHist.getOutputStream());
            os.flush();
            os.close();

1 Ответ

0 голосов
/ 03 апреля 2020

Вы должны использовать Gmail API для создания ваших запросов. Здесь вы можете найти пример того, как начать работу с Java. Ваш запрос должен выглядеть примерно так:

private static final String APPLICATION_NAME = "Your Android APP name";
private static final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();

//...

final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
Gmail service = new Gmail.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
                .setApplicationName(APPLICATION_NAME)
                .build();

ListHistoryResponse history = service.users().history().list("me").setStartHistoryId(historyId).execute();
...