Как указать параметр «q» для www.googleapis.com/drive/v3/filesJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как указать параметр «q» для www.googleapis.com/drive/v3/files

Сообщение Anonymous »

В примере API Google Slides указано, что нужно выполнить запрос GET:

Код: Выделить всё

GET https://www.googleapis.com/drive/v3/files?q="mimeType=application/vnd.google-apps.presentation"&fields=files(id,name,webViewLink)
  • Я пробовал без параметров q и полей, и я отлично получаю поля по умолчанию для всех файлов.
  • Я пробовал без параметра q, но с параметром полей, и я отлично получаю указанные поля всех файлов.
Моя программа написана на Java (Tomcat), и по историческим причинам так и есть:

Код: Выделить всё

HttpRequest.newBuilder().uri(URI.create(uri)).header("Authorization", "Bearer " + result.getString("access_token")).build();
для выполнения запросов.
Двойные кавычки в q="mimeType=application/vnd.google-apps.presentation" явно требуют экранирования посредством кодирования URL-адреса; без этого получим:

Код: Выделить всё

java.lang.IllegalArgumentException: Illegal character in query at index 44: https://www.googleapis.com/drive/v3/files?q="mimeType=application/vnd.google-apps.presentation"&fields=files(id,name,webViewLink)&key=mykey
java.base/java.net.URI.create(URI.java:906)
Полное кодирование URL-адреса "mimeType=application/vnd.google-apps.presentation" и передача этого значения в качестве значения параметра q приводит к получению URI следующего вида:

Код: Выделить всё

https://www.googleapis.com/drive/v3/files?q=mimeType%3Dapplication%2Fvnd.google-apps.presentation&fields=files(id,name,webViewLink)&key=mykey
и выдает ошибку 400:

Код: Выделить всё

{
"error": {
"code": 400,
"message": "Invalid Value",
"errors": [
{
"message": "Invalid Value",
"domain": "global",
"reason": "invalid",
"location": "q",
"locationType": "parameter"
}
]
}
}
Итак, как мне указать параметр q?


Подробнее здесь: https://stackoverflow.com/questions/798 ... e-v3-files
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»