我的最终目标是编写一个简单的程序,在每周结束时将一个特定的 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;
}
}