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