Both ScriptProperties
and ScriptDB
are deprecated.
Instead, you should be using the new class PropertiesService
which is split into three sections of narrowing scope:
- Document - Gets a property store that all users can access within the current document, if the script is published as an add-on.
- Script - Gets a property store that all users can access, but only within this script.
- User - Gets a property store that only the current user can access, and only within this script.
Here's an example persisting a user property across calls:
<!-- language: lang-js -->
var properties = PropertiesService.getScriptProperties();
function saveValue(lastDate) {
properties.setProperty('lastCalled', lastDate);
}
function getValue() {
return properties.getProperty('lastCalled');
}
The script execution environment is stateless, so you cannot access local variables from previous runs, but you can store getScriptProperties()
in a local variable because it will be re-run for each return trip to the server so it can be called in either method.
If you need to store something on a more temporary basis, you can use the CacheService
API