2013-03-14 5 views
1

Моя конечная цель - написать простую программу, которая загружает одну конкретную электронную таблицу Google в конце каждой недели на мой локальный жесткий диск. Файл будет отредактирован от недели к неделе другими людьми, и мне постоянно нужно будет загрузить обновленную версию, чтобы вытащить данные и перейти к сценарию bash, который я написал. Теперь я делаю это вручную, но если я смогу вытащить электронную таблицу в формате csv, можно автоматизировать весь процесс.Загрузить файл с Google Диска в Java

Я немного смущен Документацией Google. Я скопировал их примерный метод downloadFile, но до сих пор неясно о точных передаваемых параметрах и возвращается InputStream.

Если бы я должен был добавить основной метод для вызова метода downloadFile, каковы будут параметры, которые я передаю.

Затем можно использовать поток InputPut, который он возвращает, чтобы сохранить файл в формате csv?

Кроме того, это единственный способ, который мне нужен или нужен, есть ли еще больше?

downloadFile метод определяется здесь (слева из операторов импорта):

private static InputStream downloadFile (Drive service, File file) { 
    if (file.getDownloadUrl() !=null && file.getDownloadUrl().length() > 0) { 
     try { 
      HttpResponse resp = service.getRequestFactory().buildGetRequest(new GenericUrl(file.getDownloadUrl())).execute(); 
      return resp.getContent(); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
      return null; 
     } 
    } 
    else { 
     return null; 
    } 
} 
+0

Для параметра «Drive» вы уверены, что не имеете в виду «драйвер»? Я не могу найти API в классе Drive. – DrinkJavaCodeJava

+0

@DrinkJavaCodeJava Нет, это диск. Этот код был скопирован и вставлен с веб-сайта Google. Используемая инструкция import - com.google.api.services.drive.Drive; – user1978536

+0

Возможно, вы захотите взглянуть на этот ответ. http://stackoverflow.com/questions/14133026/how-to-download-a-file-from-google-drive-using-drive-api-java?rq=1 –

ответ

0

Для второго параметра вам нужно экземпляр класса File. Из того, что я узнал. Собственный класс Google File в его простейшей форме может быть создан с нулевыми аргументами. Как это.

File f = new File(); 

Для создания объекта привода приведен пример того, как это сделать. Прокрутите вниз до USE OAUTH 2.0. https://developers.google.com/drive/credentials

+0

Параметр File также импортируется из API Google. Это не стандартный класс Java File. У меня уже есть библиотеки в моем пути сборки, я в основном просто смотрел пример того, как вызывать этот метод, поскольку я вообще не могу найти его на своем веб-сайте. – user1978536

+0

Я пересмотрел ответ – DrinkJavaCodeJava

Смежные вопросы