【问题标题】:Error 400 Bad Request on Upload using Drive API使用 Drive API 上传时出现错误 400 错误请求
【发布时间】:2012-10-21 18:40:53
【问题描述】:

我目前正在制作一个可以从 Google 云端硬盘上传和下载文件的应用。 我正在使用 Drive SDK 在 android 上开发。 问题是每次我尝试从我要上传的文件中设置修改日期时,我总是收到错误的请求错误 400。这是我的 snip 代码:

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,如果我错了,请纠正我。 我非常感谢大家的任何回答和关注..

【问题讨论】:

  • 有时,400 错误会提供比“错误请求”更多的详细信息。你有这样的细节吗?

标签: android google-drive-api


【解决方案1】:

在 Drive API 参考中,我们有关于 modifiedDate 的描述:

此文件上次被任何人修改的时间(格式为 RFC 3339 时间戳)。 只有在 setModifiedDate 更新时才可变 参数已设置

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

【讨论】:

  • 我现在尝试在更新文件内容上设置修改日期,但这对我来说并不走运。我仍然收到错误 400 错误请求。这是我使用的代码,我错了吗body.setModifiedDate(new DateTime(a.lastModified()));
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-11
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 2013-09-27
  • 2015-08-18
相关资源
最近更新 更多