你们那些我不知道的事情的人:-)

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

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

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

要么

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

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

    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()); 

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

===============>>#1 票数:2 已采纳

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

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

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

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

插入使POST请求始终创建新资源。

===============>>#2 票数:0

如果只想更新元数据,则需要使用Files.Patch files().insert总是创建一个新文件。

API参考中提供了File命令的完整列表以及需要使用的操作

  ask by seanpj translate from so

未解决问题?本站智能推荐: