如何用Google Apps Script为指定文件设置带选择项的Drive标签
为Google Drive文件设置带指定选择项的标签(Google Apps Script)
你当前的代码仅关联了标签ID,但未指定标签下的具体选择项。要添加Archived选项,需要在标签修改请求中加入字段修改逻辑,指定对应选择项的ID。
完整实现代码
// 替换为你的标签ID、目标文件ID和Archived选项ID const labelId = "你的标签ID"; const targetFileId = "目标文件ID"; const archivedOptionId = "3ZB971298F"; // 1. 获取标签对应的选择字段ID(仅首次需要运行获取,之后可直接复用) const labelDetails = Drive.Labels.get(labelId); const selectionFieldId = labelDetails.fields[0].id; // 假设标签仅含一个选择字段,若多个需调整索引 Logger.log("选择字段ID:" + selectionFieldId); // 2. 创建字段修改请求,指定选中Archived选项 const fieldModification = Drive.newFieldModification() .setFieldId(selectionFieldId) .setSelectionValues([archivedOptionId]); // 单选用set,多选追加用appendSelectionValues // 3. 创建标签修改请求 const modifyLabelsRequest = Drive.newModifyLabelsRequest() .setLabelModifications([ Drive.newLabelModification() .setLabelId(labelId) .setFieldModifications([fieldModification]) ]); // 4. 执行标签设置 Drive.Files.modifyLabels(modifyLabelsRequest, targetFileId);
关键说明
- 获取字段ID:首次运行时,通过
Drive.Labels.get(labelId)获取标签的字段信息,从日志中拿到选择字段的ID后,后续可直接替换代码中的selectionFieldId,无需重复获取。 - 单选/多选区分:
- 若标签是单选类型,使用
setSelectionValues会覆盖原有选项; - 若标签是多选类型,想要追加选项而非覆盖,改用
appendSelectionValues([archivedOptionId])。
- 若标签是单选类型,使用
内容的提问来源于stack exchange,提问作者Foggy
相关产品推荐
相关产品推荐

