从Java下载Google Drive中的文件

时间:2013-03-14 19:22:36

标签: java google-drive-api

我的最终目标是编写一个简单的程序,在每周末将一个特定的Google电子表格下载到我的本地硬盘。该文件将由其他人每周编辑一次,我将不断下载更新版本以提取数据并传递给我编写的bash脚本。我现在手动执行此操作,但如果我可以以csv格式下拉电子表格,则可以自动执行整个过程。

我对Google的文档感到有些困惑。我已经复制了他们的示例方法downloadFile,但我仍然不清楚正在传递的确切参数以及InputStream返回。

如果我要添加一个main方法来调用downloadFile方法,那么我传递的示例参数是什么。

然后,我可以使用它返回的InputPut流来保存文件是csv格式吗?

另外,这是我需要或做的唯一方法还有更多吗?

这里定义了

downloadFile方法(省略了import语句):

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) {
            e.printStackTrace();
            return null;
        }
    }
    else {
        return null;
    }
}

1 个答案:

答案 0 :(得分:0)

对于第二个参数,您需要File类的实例。从我发现的。谷歌的专有文件类中最简单的形式可以用零参数实例化。像这样。

File f = new File();

要构建驱动器对象,有一个如何执行此操作的示例。向下滚动到USE OAUTH 2.0凭据。 https://developers.google.com/drive/credentials