尝试使用适用于Java的驱动器API v3和服务帐户向TeamDrive中的文件添加属性
我正在尝试使用驱动器API和服务帐户向已上载到TeamDrive的文件添加属性。我可以访问这些文件,但当我尝试将属性映射添加到文件对象和update()时,会出现403错误尝试使用适用于Java的驱动器API v3和服务帐户向TeamDrive中的文件添加属性,java,google-drive-api,Java,Google Drive Api,我正在尝试使用驱动器API和服务帐户向已上载到TeamDrive的文件添加属性。我可以访问这些文件,但当我尝试将属性映射添加到文件对象和update()时,会出现403错误 ... Drive.Files.List request = service.files() .list() .setIncludeTeamDriveItems(true) .setCorpora("teamDrive") .setSupportsTeamDrives(true) .
...
Drive.Files.List request = service.files()
.list()
.setIncludeTeamDriveItems(true)
.setCorpora("teamDrive")
.setSupportsTeamDrives(true)
.setTeamDriveId("MAZEPX3fk38ieDu9PVL")
.setQ("name contains 'aad081cc-0929-42bf-88f9-cb43c5ed0742'");
FileList files = request.execute();
File f = files.getFiles().get(0);
Map<String, String> props = new HashMap<>();
props.put("fancyTag", "this_is_my_tag_value");
f.setProperties(props);
service.files().update(f.getId(),f).execute();
...
服务帐户具有对相关TeamDrive的编辑权限。在v3文档中,它明确表示属性是可写的。所以我想知道我没有设置什么,或者我无意中创建了什么条件来禁止在驱动器文件上设置属性?下面是一个与您的问题相关的问题
从那里,您将被重新引导到所写的注释
如果你愿意阅读,答案中有这一部分:
垃圾/更新
我在这件事上浪费了一些时间你是我的英雄。完全正确
{
"code" : 403,
"errors" : [ {
"domain" : "global",
"message" : "The resource body includes fields which are not directly writable.",
"reason" : "fieldNotWritable"
} ],
"message" : "The resource body includes fields which are not directly writable."
}