Google Drive REST Api下载文件,其文件名为

时间:2018-12-07 11:15:39

标签: java android kotlin google-api google-drive-api

大家好,我遇到了问题。在我的应用程序中,我将用户之前在GoogleDrive文件选择器中选择的文件的文件ID存储。我也在设备中存储了这些文件的本地副本。每次启动后,我都希望刷新本地文件,因此我想从驱动器下载它们。但这对我来说还不是很清楚,我应该怎么做。
我看到了this documentation,但我不明白该代码中使用的driveService在哪里

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

我不知道这段代码中的driveService是什么。 (哪个类实例)以及如何获取它
请帮助我,谢谢。

附言
对不起,我的英语不好

2 个答案:

答案 0 :(得分:1)

您应该查看resumable 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);

答案 1 :(得分:0)

BaseClientService service = new DriveService(new BaseClientService.Initializer()
 {
 HttpClientInitializer = credential,
 ApplicationName = "Drive API Sample",
 });

您应该检查该堆栈答案,也许它将帮助您理解它: How do you create a new Google Drive Service in C# using OAuth