1

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

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

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

那么,我可以使用InputPut它返回的流将文件保存为csv格式吗?

此外,这是我需要的唯一方法还是还有更多方法?

downloadFile方法在这里定义(省略了导入语句):

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;
    }
}
4

1 回答 1

0

对于第二个参数,您需要一个 File 类的实例。根据我的发现。Google 专有的最简单形式的 File 类可以用零参数实例化。像这样。

File f = new File();

要构建一个驱动对象,有一个如何做的例子。向下滚动到使用 OAUTH 2.0 凭据。https://developers.google.com/drive/credentials

于 2013-03-14T20:47:52.583 回答