如何使用驱动器 api java 从谷歌驱动器下载文件?
我尝试了谷歌驱动的一些功能,但我无法从驱动器下载文件.
I have tried some functions of Google drive, but I couldn't able to download the file from Drive.
这是我使用的代码
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) {
// An error occurred.
e.printStackTrace();
return null;
}
} else {
// The file doesn't have any content stored on Drive.
return null;
}
}
当我运行脚本时,它显示 file.getDownloadUrl()
为 NULL.
When I ran the script it shows file.getDownloadUrl()
is NULL.
我错过了什么?
在我调用下载函数之前添加以下行后它正在执行
Now it's executing after adding the following line before I call the download function
File file1 = service.files().get(fileid).execute();
downloadFile(service,file1);
现在的问题是如何借助我从脚本中获得的响应"来下载文件....
Now the problem is how to download the file with the help of 'response' which I got from the script....
推荐答案
Google Docs 原生格式的文档没有 downloadUrl
字段,您可以使用 exportLinks
集合:
Documents in Google Docs native formats won't have a downloadUrl
field, instead you can export them using the exportLinks
collection:
https://developers.google.com/drive/manage-downloads#downloading_google_documents
相关文章