借助属性服务,您可以通过键值对形式存储简单数据,其范围限定为一个脚本、一个脚本的用户或一个使用插件的文档。它通常用于存储开发者配置或用户偏好设置。属性绝不会在脚本之间共享。
如需查看媒体资源服务的每日配额和存储空间限制,请参阅 Google 服务的配额。
物业商店比较
PropertiesService
全局对象提供了三种方法,每种方法返回一个类似的 Properties
对象,但访问权限不同,如下表所示:
脚本属性 | 用户属性 | 文档属性 | |
---|---|---|---|
访问方法 | getScriptProperties() |
getUserProperties() |
getDocumentProperties() |
数据共享平台 | 某个脚本、插件或 Web 应用的所有用户 | 脚本、插件或 Web 应用的当前用户 | 打开文档中某个插件的所有用户 |
通常用于 | 应用级配置数据,例如开发者外部数据库的用户名和密码 | 特定于用户的设置,例如公制或英制单位 | 文档专属数据,例如嵌入式图表的来源网址 |
数据格式
Properties 服务会将所有数据存储为键值对中的字符串。尚不是字符串的数据类型(包括包含在已保存对象中的方法)会自动转换为字符串。
正在保存数据
如需保存单个值,请调用相应存储区的 Properties.setProperty(key,
value)
方法,如以下示例所示:
如需批量保存数据,请将键值对的映射传递给 Properties.setProperties(properties)
。参数中对象的每个键值对都存储为单独的属性:
读取数据
如需检索之前保存的单个值,请调用 Properties.getProperty(key)
:
如需检索当前属性存储区中的所有值,请调用 Properties.getProperties()
:
修改数据
getProperty()
和 getProperties()
方法会返回已存储数据的副本(而非实时视图),因此更改返回的对象不会更新属性存储区中的值。要更新存储区中的数据,只需再次保存即可:
删除数据
如需删除单个值,请调用 Properties.deleteProperty(key)
:
如需删除当前存储区中的所有属性,请调用 Properties.deleteAllProperties()
:
手动管理脚本属性
您可以从项目设置页面中以键值对中的字符串的形式手动添加最多 50 个自定义属性。要添加 50 个以上的属性,您需要使用上述保存数据中所述的方法以编程方式添加。从项目设置页面设置脚本属性时,您无法引用脚本变量。
添加脚本属性
- 打开您的 Apps 脚本项目。
- 点击左侧的项目设置 。
- 如需添加第一个属性,请在脚本属性下点击添加脚本属性。
- 要添加第二个属性和后续属性,请在脚本属性下依次点击修改脚本属性 > 添加脚本属性。
- 对于属性,请输入键名称。
- 对于值,请输入键的值。
- (可选)如需添加更多属性,请点击添加脚本属性。
- 点击保存脚本属性。
修改脚本属性
- 打开您的 Apps 脚本项目。
- 点击左侧的项目设置 。
- 在脚本属性下,点击修改脚本属性。
- 为您要更改的每个属性更改键名称和键值。
- 点击保存脚本属性。
删除脚本属性
- 打开您的 Apps 脚本项目。
- 点击左侧的项目设置 。
- 在脚本属性下,点击修改脚本属性。
- 在要删除的媒体资源旁边,点击“移除”图标 。
- 点击保存脚本属性。