驱动api错误下载文件

时间:2013-04-25 20:07:45

标签: java google-drive-api

尝试下载文件时收到错误,我无法从云端硬盘下载文件。

这是我使用的代码

private static InputStream downloadFile(String token, File file) {
Drive service = getDriveService(getCredential(token));

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;
}

}

我收到此错误

GET /a/thotz.net/uc?id=xxxxx&export=download HTTP/1.1
Host: docs.google.com
Content-length: 0
Authorization: OAuth ya29.AHES6ZTruwaMm_SHZAb9LFMCbxiJ85vaDccbil-h4enw
HTTP/1.1 401 Unauthorized
Content-length: 147
X-xss-protection: 1; mode=block
X-content-type-options: nosniff
X-google-cache-control: remote-fetch
-content-encoding: gzip
Server: GSE
Reason: Unauthorized
Via: HTTP/1.1 GWA
X-chromium-appcache-fallback-override: disallow-fallback
Cache-control: private, max-age=0
Date: Thu, 25 Apr 2013 19:54:12 GMT
X-frame-options: SAMEORIGIN
Content-type: text/html; charset=UTF-8
Expires: Thu, 25 Apr 2013 19:54:12 GMT
<HTML>
<HEAD>
<TITLE>Unauthorized</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Unauthorized</H1>
<H2>Error 401</H2>
</BODY>
</HTML>

我在其他请求中测试令牌并且它是否有效,所以不知道为什么当我尝试下载文件时显示401错误。

1 个答案:

答案 0 :(得分:0)

我在使用PHP库时遇到了类似的问题 - 事实证明您需要通过身份验证提出请求 - 401错误意味着您未经过身份验证。