如何使用Google File Picker和基于Google Drive Java SDK的servlet下载用户选择的文件?

时间:2013-02-12 02:42:48

标签: java google-drive-api

我使用google Filepicker让用户选择目标文件,然后从浏览器中的选择器中获取文件ID。我让用户将此id发布到我的servlet,我希望servlet下载此文件进行处理。

我正在努力使用这个java代码,如sample所示。在下面的代码samploe中,如何实例化Drive和File?请假设Google Picker中已提供文件ID。

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) {
            // An error occurred.
            e.printStackTrace();
            return null;
          }
        } else {
          // The file doesn't have any content stored on Drive.
          return null;
        }
      }

1 个答案:

答案 0 :(得分:0)

Google云端硬盘文档介绍了如何检索OAuth 2.0凭据以及如何使用它们来实例化服务对象:

https://developers.google.com/drive/credentials

Picker API仅为您提供已选择文件的ID。您必须发送files.get请求以检索文件元数据,即代码段中的File对象:

https://developers.google.com/drive/v2/reference/files/get