android修改元数据谷歌驱动器

时间:2013-04-16 02:27:58

标签: android google-drive-api

所有知道我不知道事情的人: - )

我遇到了这个可能实际上不是问题的问题,只是一个我不知道自己在做什么的启示。再次!

我正在上传带有一些描述和可索引关键字的JPEG。奇迹般有效。但我无法弄清楚如何在以后添加/修改元数据,而无需创建该文件的另一个实例。因此,当我添加描述“狗”的我的狗的图片时,我最终得到了我想要的东西。但是,如果我尝试使用以下方法修改元数据:

      gooFl = drvSvc.files().insert(meta).execute();

      gooFl = drvSvc.files().insert(meta,null).execute();

我最终在GOOGLE Drive上找到了一个新文件(同名)。 请参阅下面的代码段:

    File meta = new File();
    meta.setTitle("PicOfMyDog.jpg");
    meta.setMimeType("image/jpeg");
    meta.setParents(Arrays.asList(new ParentReference().setId(ymID)));
    File gooFl = null;
    if (bNewJPG == true) {
      meta.setDescription("dog");
      meta.setIndexableText(new IndexableText().setText("dog"));
      gooFl = drvSvc.files().insert(meta, 
       new FileContent("image/jpeg", new java.io.File(fullPath("PicOfMyDog.jpg"))))
       .execute();
    } else {
      meta.setDescription("dick");
      meta.setIndexableText(new IndexableText().setText("dick"));
      // gooFl = drvSvc.files().insert(meta).execute();
      gooFl = drvSvc.files().insert(meta,null).execute();
    }
    if (gooFl != null)
      Log.d("atn", "success  " + gooFl.getTitle()); 

这是我要问的“其他”分支。第一个文件有一个“狗”,第二个“鸡巴”。 那么,解决方案是什么。我是否删除了上一个实例(以及如何)?还有其他我不知道的语法/方法吗? 谢谢,肖恩

2 个答案:

答案 0 :(得分:2)

如果您需要修改元数据,请使用files.patch

drvSvc.files().patch(id, meta).execute();

如果您需要修改元数据和文件内容,请使用files.update

drvSvc.files().update(id, meta, content).execute();

插入会产生始终创建新资源的POST请求。

答案 1 :(得分:0)

如果您只想更新元数据,则需要使用Files.Patchfiles().insert始终会创建一个新文件。

可以在API Reference

中找到File命令的完整列表以及您需要使用的操作