如何使用驱动器 api java 从谷歌驱动器下载文件?

2022-01-10 00:00:00 google-drive-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

相关文章