我的最终目标是编写一个简单的程序,在每周结束时将一个特定的 Google 电子表格下载到我的本地硬盘上。该文件将由其他人每周编辑一次,我将不断需要下载更新版本以提取数据并传递给我编写的 bash 脚本。我现在手动执行此操作,但如果我可以拉取 csv 格式的电子表格,则可以自动化整个过程。
我对 Google 的文档有点困惑。我已经复制了他们的示例方法 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;
}
}
最佳答案
对于第二个参数,您需要 File 类的实例。据我了解。 Google 专有的 File 类以其最简单的形式可以用零参数实例化。像这样。
File f = new File();
要构建驱动对象,有一个关于如何构建驱动对象的示例。向下滚动到使用 OAUTH 2.0 凭据。 https://developers.google.com/drive/credentials
关于java - 使用 Java 从 Google Drive 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15418366/