从Google云端硬盘下载文件-方法丢失? (java)

时间:2018-07-03 22:27:26

标签: java google-drive-api

我尝试使用Google云端硬盘的Java API下载某个文件夹中的所有文件。由于我是该API的初学者,因此我在Google上搜索并找到了一些与此相关的问题和答案,例如Download files from google drive using java API

所有这些示例都使用以下构造:

if (file.getDownloadUrl() !=null && file.getDownloadUrl().length() > 0) {

但是,当我在Eclipse中使用它时(当然已经简化了)

com.google.api.services.drive.model.File myFile = new com.google.api.services.drive.model.File();
myFile.getDownloadUrl();

我收到一条错误消息The method getDownloadUrl() is undefined for the type File。此外,对该方法名称进行谷歌搜索不会显示任何有意义的结果。我在这里错过了一些非常基本的东西吗?

2 个答案:

答案 0 :(得分:0)

首先,com.google.api.services.drive.model.File myFile = new com.google.api.services.drive.model.File(); myFile.getDownloadUrl();没有任何意义。您试图将一个String(getDownloadUrl()的返回值)分配给File对象。

但是,由于找不到downloadUrl()方法签名,编译器还没有完全抱怨这一点。我的猜测是您为API使用了错误的jar文件。在这种情况下,我认为您正在尝试使用v2 API,但可能已经下载了v3 jar。最好遵循Google文档,而不要从StackOverflow复制/粘贴代码。

答案 1 :(得分:0)

驱动器API v3中已删除方法TestUserControl
尝试使用方法file.getDownloadUrl()而不是executeMediaAndDownloadTo()来下载Google驱动器文件。请参阅以下sample code

Drive.File.Get class中的方法getDownloadUrl()