#android #google-drive-api
#Android #google-drive-api
Вопрос:
Я пишу приложение для Android, которому необходимо загрузить файл из Интернета при запуске приложения.
Это метод, который используется для загрузки файла.
private InputStream downloadUrl(String urlString) throws IOException {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
return conn.getInputStream();
}
Я попробовал следующее без особого успеха.
-
Поделитесь файлом на Google Диске (общедоступным в Интернете) и используйте указанный «URL-адрес общего доступа» для загрузки — выдает ошибку — Соединение отказано
-
Опубликуйте файл в Интернете (через Google Диск) и используйте указанный «URL-адрес публикации» для загрузки — Получена эта ошибка — Не удается разрешить хост docs.google.com
Есть ли возможность использовать Google Диск для этой цели?
Заранее спасибо.
Ответ №1:
Вы хотели бы использовать DriveApi.GetFile и DriveFile.openContents для извлечения файла с Google Диска. Насколько я знаю, вы не можете загрузить файл напрямую через url.
Я использую код, подобный этому:
DriveFile file = Drive.DriveApi.getFile(client, driveId);
DriveApi.ContentsResult contentsResult = file.openContents(client, DriveFile.MODE_READ_ONLY, null).await();
if (!contentsResult.getStatus().isSuccess()) {
error = new Error("failed in retrieving the file content for " driveId);
return null;
}
return getInputStream();