如何在Java应用程序中使用Google Drive API从公共档案中下载文件?

时间:2016-04-20 21:38:57

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

我已设法了解授权应用使用OAuth 2.0凭据访问用户受保护信息的方法。然而,我的应用程序需要从第三方的驱动器(而不是我的用户的)下载一堆PDF文件。该文件夹是公共的,因此授权应该没有问题。

我怎么能实现这一目标? Java中需要哪些代码和库? 谢谢!

1 个答案:

答案 0 :(得分:0)

您将使用MediaHttpDownloader和MediaHttpDownloaderProgressListener,如上所述here

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);

您也可以尝试使用此thread中的示例。不要忘记官方Google Android samples