1

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

这是我使用的代码

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 错误。

4

1 回答 1

0

我在使用 PHP 库时遇到了类似的问题 - 原来你需要通过身份验证来提出你的请求 - 401 错误意味着你没有通过身份验证。

于 2014-04-09T07:41:39.603 回答