如何通过Google Apps Script为Google Drive文件添加不可修改元数据
为Google Drive文件添加不可随意修改的自定义元数据方案
以下是几种替代setDescription的方案,能避免用户手动修改元数据:
1. 使用应用专属属性(App Properties)
这是Google Drive提供的仅由创建它的应用(即你的脚本)可读写的元数据字段,用户在Drive界面完全看不到,安全性最高。
代码示例:
// 获取目标文件 const file = DriveApp.getFileById("你的文件ID"); // 设置应用专属属性 file.setAppProperties({ "自定义键1": "元数据值1", "自定义键2": "元数据值2" }); // 读取属性 const appProps = file.getAppProperties(); console.log(appProps.get("自定义键1"));
2. 使用普通自定义属性(Properties)
这个字段用户在Drive界面的"详情"面板里能看到,但默认没有编辑入口,除非用户特意通过API或脚本修改,比描述字段安全很多。
代码示例:
const file = DriveApp.getFileById("你的文件ID"); // 设置普通自定义属性 file.setProperties({ "项目编号": "PROJ-001", "创建人": "Ryan" }); // 读取属性 const props = file.getProperties(); console.log(props.get("项目编号"));
3. 通过高级Drive服务操作标签
你之前觉得脚本无法操作标签是因为没启用高级Drive服务,步骤如下:
- 在脚本编辑器中点击「资源」→「高级Google服务」
- 找到「Drive API」并启用它
之后就可以用脚本给文件添加标签了,代码示例:
// 假设你已经创建好标签,获取标签ID和字段ID const fileId = "你的文件ID"; const labelId = "你的标签ID"; const fieldId = "标签内的字段ID"; // 给文件添加标签 Drive.Files.update({ labels: { [labelId]: { fields: { [fieldId]: { stringValue: "标签值" } } } } }, fileId);
注意:标签需要先在Google Drive的管理后台创建好,才能通过脚本关联到文件。
内容的提问来源于stack exchange,提问作者Ryan Fleury
相关产品推荐
相关产品推荐

