2012-10-19 59 views
0

我目前正在制作一个应用程序,可以从谷歌驱动器上传和下载文件。 我在使用Drive SDK的android上开发。 问题是,每次我试图从文件我该怎么上传设置修改日期,我总是得到坏请求错误400,这是我的喀嚓代码:错误400错误的请求上传使用驱动器API

protected CDriveFile doInBackground(String... file) { 
     // TODO Auto-generated method stub 
     com.google.api.services.drive.model.File f=null; 
     File a=new File(file[1]); 
     com.google.api.services.drive.model.File body = new com.google.api.services.drive.model.File(); 
     body.setTitle(file[1].substring(file[1].lastIndexOf("/")+1, file[1].length())); 
     Uri selectedUri = Uri.fromFile(a); 
     String fileExtension 
     = MimeTypeMap.getFileExtensionFromUrl(selectedUri.toString()); 
     String mimeType 
     = MimeTypeMap.getSingleton().getMimeTypeFromExtension(fileExtension); 
     body.setMimeType(mimeType); 
     body.setModifiedDate(DateTime.parseRfc3339(file[2])); 
     //without this, work well.. body.setModifiedDate(DateTime.parseRfc3339(file[2])); 
     FileContent mediaContent = new FileContent(mimeType, a); 
     try { 
      f = service.files().insert(body, mediaContent).execute(); 
      } 

文件没有任何错误上传当我没有设定修改日期。从我知道我已经提供正确的日期格式为Google Drive这是RFC3339,纠正我,如果我错了。 我真的很感激所有你的任何答复和关注..

+0

有时,400错误提供了比只是“错误的请求”的更多细节。你有这样的细节吗? – Jerome

回答

1

在驱动器API的参考,我们对modifiedDate这样的描述:

上次这个文件是由人(格式化RFC 3339修改 时间戳)。 只有在setModifiedDate 参数设置为时,此更新才可更新。

,所以我想你不能直接设置修改日期插入

+0

我试图在更新文件内容上设置修改日期,但这对我来说不是运气。我仍然有错误400错误的请求。这是我使用的代码,我错了这个'body.setModifiedDate(new DateTime(a.lastModified()));' – KevinL

相关问题