Моя конечная цель - написать простую программу, которая загружает одну конкретную электронную таблицу 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;
}
}
Для параметра «Drive» вы уверены, что не имеете в виду «драйвер»? Я не могу найти API в классе Drive. – DrinkJavaCodeJava
@DrinkJavaCodeJava Нет, это диск. Этот код был скопирован и вставлен с веб-сайта Google. Используемая инструкция import - com.google.api.services.drive.Drive; – user1978536
Возможно, вы захотите взглянуть на этот ответ. http://stackoverflow.com/questions/14133026/how-to-download-a-file-from-google-drive-using-drive-api-java?rq=1 –