如何通过Apps Script读取自定义Drive文件的appProperties属性?
解决Drive文件自定义appProperties读取问题
正确读取方式
你通过DriveApp.getFileById()获取的文件对象无法直接访问appProperties属性,要读取通过高级Drive服务设置的自定义appProperties,必须使用高级Drive服务的Drive.Files.get()方法,并在参数中明确指定返回字段包含appProperties。
示例代码
function getAppProperty(fileId) { try { // 指定返回字段包含id和appProperties const file = Drive.Files.get(fileId, {fields: 'id,appProperties'}); Logger.log('文件ID: %s,appProperties: %s', file.id, JSON.stringify(file.appProperties, null, 2)); // 单独读取某个具体属性 if (file.appProperties?.department) { Logger.log('部门属性值: ' + file.appProperties.department); } } catch (err) { Logger.log('读取失败: %s', err.message); } }
核心原因说明
DriveApp是Google Apps Script的基础服务,仅提供基础文件操作能力,不支持访问高级Drive服务专属的appProperties字段。- 高级Drive服务的
Files.get方法默认仅返回文件的基础字段,必须通过fields参数显式声明要获取appProperties,否则不会返回该字段数据。
官方文档相关提示
Google Apps Script高级Drive服务的文档中明确说明:
使用
Files.get方法获取文件资源时,需通过fields参数指定需要返回的字段集合。若未指定,仅会返回默认的基础字段,不包含appProperties这类自定义扩展字段。
内容的提问来源于stack exchange,提问作者JJeremy991
相关产品推荐
相关产品推荐

