2013-01-09 152 views
1

我必须下载所有Google驱动器文件。我试图按照此 for Getting download url并使用此代码的PDF链接 我得到downloadurl使用从Google Drive下载pdf文件

file.getDownloadUrl() 

,但是当我打电话下载或转换成流时,抛出错误404:未找到。

我在哪里丢失..一些身份验证问题或一些东西超出了..... 下载我用这样的...

InputStream tempstream = Temp.downloadFile(service, file); 

private static InputStream downloadFile(Drive service, File file) { 
if (file.getDownloadUrl() != null && file.getDownloadUrl().length() > 0) { 
    try { 
     //download url is : "https://doc-0s-9k-docs.googleusercontent.com/docs/securesc/6rpci9p5rgc1ards1udmrkv5oparm1a2/eoas3kt0uj6afg559kiugg3d6fftlere/1357740000000/06400000604443042302/18001816663358798513/0B2tdn0tkhMowTFVyRzYzaGhWeTQ?h=16653014193614665626&e=download&gd=true" 
    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; 
} 

}

downloadurl 请帮助...我觉得有些我不能用正确的身份验证调用方法....

回答

0

您必须确保:

  1. 您的服务已获得授权
  2. 您的下载网址是新鲜的(因为它们到期)

否则你的代码是正确的。欲了解更多信息:

https://developers.google.com/drive/manage-downloads

+0

谢谢!我能够获得Inputstream作为内容,但它不会生成所需的文件..当我写入一些输出流..我怎么可以保证输入流是不是正确的? – zytham