Вот запрос, по которому я должен позвонить: перечисление содержимого библиотеки
GET https://photoslibrary.googleapis.com/v1/mediaItems Тип контента: application / json Авторизация: Bearer oauth2 -token {"pageSize": "100",}
Вот что я попробовал:
public String getJSON(String url, int timeout) {
String body1 = "{pageSize: 100,}";
String body2 = "{\"pageSize\": \"100\",}";
HttpURLConnection request = null;
try {
URL u = new URL(url);
request = (HttpURLConnection) u.openConnection();
request.setRequestMethod("GET");
request.setRequestProperty("Authorization", "Bearer " + token);
request.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
request.setUseCaches(false);
request.setAllowUserInteraction(false);
request.setConnectTimeout(timeout);
request.setReadTimeout(timeout);
request.setRequestProperty("Content-Length", String.format(Locale.ENGLISH, "%d", body2.getBytes().length));
OutputStream outputStream = request.getOutputStream();
outputStream.write(body2.getBytes());
outputStream.close();
request.connect();
int status = request.getResponseCode();
switch (status) {
case 200:
case 201:
BufferedReader br = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line+"\n");
}
br.close();
return sb.toString();
}
} catch (MalformedURLException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if (request != null) {
try {
request.disconnect();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
return null;
}
Если я использую метод GET, я получаю ошибку:
java. net .ProtocolException: метод не поддерживает тело запроса: GET
Я пытался с POST, но безуспешно.
Спасибо за ваш помощь.