Google Drive REST Api скачать файл по его fileId - PullRequest
0 голосов
/ 07 декабря 2018

Привет, ребята, я столкнулся с проблемой.В моем приложении я храню идентификаторы файлов, которые пользователь выбирал ранее в средстве выбора файлов GoogleDrive.Также я храню локальную копию этих файлов на устройстве.После каждого запуска я хочу обновить локальные файлы, поэтому я хочу загрузить их с диска.Но мне не понятно, как мне это сделать.
Я видел эту документацию , но я не могу понять, где взять driveService, который использовался в этом коде

driveService.files().get(fileId)
    .executeMediaAndDownloadTo(outputStream);

Я не знаю, что driveServiceнаходится в этом коде.(Какой экземпляр класса) и как мне его получить
Помогите мне, пожалуйста, спасибо.

PS
Извините за мой плохой английский

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018
BaseClientService service = new DriveService(new BaseClientService.Initializer()
 {
 HttpClientInitializer = credential,
 ApplicationName = "Drive API Sample",
 });

Вам следует проверить этот ответ на стек, возможно, он поможет вам понять его: Как создать новую службу Google Drive в C # с использованием OAuth

0 голосов
/ 07 декабря 2018

вы должны проверить документацию в разделе Resumeble Media Downloads , это может дать вам некоторые подсказки.

class CustomProgressListener implements MediaHttpDownloaderProgressListener {
  public void progressChanged(MediaHttpDownloader downloader) {
    switch (downloader.getDownloadState()) {
      case MEDIA_IN_PROGRESS:
        System.out.println(downloader.getProgress());
        break;
      case MEDIA_COMPLETE:
        System.out.println("Download is complete!");
    }
  }
}

OutputStream out = new FileOutputStream("/tmp/driveFile.jpg");

DriveFiles.Get request = drive.files().get(fileId);
request.getMediaHttpDownloader().setProgressListener(new CustomProgressListener());
request.executeMediaAndDownloadTo(out);
...