Google диск экспортирует файл документа, отличного от Google

Я пытаюсь экспортировать несколько файлов с диска Google, используя этот код:

String str = "application/rft";
OutputStream outputStream = new ByteArrayOutputStream();
driveService.files().export(fileId, str).executeAndDownloadTo(outputStream);

и это работает правильно, но когда я пытаюсь экспортировать файл application/pdf или application/png или application/jpeg, я получаю эту ошибку:

403 Forbidden
{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Export only supports Google Docs.",
    "reason" : "fileNotExportable"
  } ],
  "message" : "Export only supports Google Docs."
}

Я хотел бы знать, есть ли способ получить содержимое этого файла с помощью Java

заранее спасибо


person Aldeguer    schedule 19.09.2017    source источник


Ответы (1)


Документы Google можно загрузить с помощью files.export. Но когда он загружает файлы (pdf, png и jpeg), кроме Google Docs, используйте files().get().

Подробную информацию можно найти на здесь. Также вы можете посмотреть пример скрипта.

Редактировать :

Это пример скрипта для скачивания файлов, кроме Google Docs.

String fileId = "### file ID ###";
OutputStream out = new FileOutputStream("### output filename ###");
driveService.files().get(fileId).executeMediaAndDownloadTo(out);
person Tanaike    schedule 19.09.2017
comment
Я пробовал это, но это не дало мне содержимое, только данные файла, такие как id, kind, mimeType... - person Aldeguer; 20.09.2017
comment
out содержит { "kind": "drive#file", "id": "0B2VR-92nUWb9RXJySXhGZUlkckU", "name": "10-7-09.pdf", "mimeType": "application/pdf" } , но не содержимое. В любом случае, большое спасибо - person Aldeguer; 20.09.2017
comment
@Aldeguer Сценарий, который я написал для своего ответа, отлично работает в моей среде. Могу я увидеть ваш текущий сценарий? - person Tanaike; 20.09.2017
comment
Он уже работает, просто забыл Медиа в executeMediaAndDownload, большое спасибо, чувак!! - person Aldeguer; 20.09.2017
comment
@Aldeguer Я рад это слышать. И тебе спасибо. - person Tanaike; 20.09.2017
comment
он работает только для файлов небольшого размера. он не работал для файлов большого размера 1 ГБ, ошибка OutOfMemoryError Exception - person Nathani Software; 03.09.2019