所有知道我不知道事情的人: - )
我遇到了这个可能实际上不是问题的问题,只是一个我不知道自己在做什么的启示。再次!
我正在上传带有一些描述和可索引关键字的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());
这是我要问的“其他”分支。第一个文件有一个“狗”,第二个“鸡巴”。 那么,解决方案是什么。我是否删除了上一个实例(以及如何)?还有其他我不知道的语法/方法吗? 谢谢,肖恩
答案 0 :(得分:2)
如果您需要修改元数据,请使用files.patch
。
drvSvc.files().patch(id, meta).execute();
如果您需要修改元数据和文件内容,请使用files.update
。
drvSvc.files().update(id, meta, content).execute();
插入会产生始终创建新资源的POST请求。
答案 1 :(得分:0)