API Диска Google – проблемы с загрузкой – неверный запрос

Я разрабатываю java-приложение GAE, и мне нужно загрузить PDF-файл на пользовательский диск Google, но загрузка всегда завершается ошибкой, и я не знаю, что может быть не так, поскольку я уже проверил несколько примеров кода.

import com.google.api.services.drive.Drive;
import com.google.api.services.drive.model.File;

.
.
.

byte[] pdfContent = <... 52kb PDF file ...>


ByteArrayContent mediaContent = new ByteArrayContent("application/pdf", pdfContent);

  File myPDF = new File();
       myPDF.setTitle("Sample PDF");
       myPDF.setDescription("Sample PDF");

  Drive driveService = new Drive.Builder(HTTP_TRANSPORT, JSON_FACTORY, getStoredCredential()).build();
  Drive.Files.Insert insert = driveService.files().insert(hugePDF, mediaContent);

insert.getMediaHttpUploader().setChunkSize(1024 * 1024);
File file = insert.execute();

Этот код загрузки всегда получает ошибку: 400 OK

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "badRequest",
    "message": "Bad Request"
   }
  ],
  "code": 400,
  "message": "Bad Request"
 }
}

Я использую библиотеку дисков Google: google-api-services-drive-v2-rev1-1.7.2-beta.jar.

Учетные данные в порядке, так как я могу просматривать или загружать файлы с пользовательского диска Google.


person Martin V.    schedule 15.01.2013    source источник


Ответы (1)


Я думаю, что проблема в вашей версии библиотеки. Текущая версия — v2-rev39-1.12.0-beta. Проверьте http://code.google.com/p/google-api-java-client/wiki/APIs#Drive_API. Всегда лучше использовать последнюю версию библиотеки API. У нас было много проблем с BigQuery API, когда мы пропустили одно обновление.

person Kirill Lebedev    schedule 16.01.2013