PropertiesService实际存储其数据的位置以及数据会持续多长时间?它是无限期的,还是假设它是一个网络应用程序,直到用户删除访问权限为止?
属性存储非常有用,但由于界面非常不透明,我有很多这样的问题。该文档说明了它的作用、如何使用它,但没有说明它是如何工作的。也许还有更多我还没有发现的事情?我也很高兴阅读发送给我的任何链接。
文档属性与文档相关联,即使用户卸载插件,它们也会保留在文档中。
脚本属性与Apps脚本文件关联。 即使您发布的插件以安装插件的用户身份运行,脚本属性也会保存到您的 Apps 脚本文件中。 在这种情况下,如果您有 50,000 个用户,并将插件配置为允许用户将值保存到脚本属性,那么您很快就会遇到问题,因为您会用完存储配额。 这就带来了存储问题。
属性服务不适用于大型模板文件等内容。 就像用于邮件合并的大型模板电子邮件。
插件无法访问其他插件的文档属性或用户属性。 因此,对于插件,文档和用户属性的范围仅限于该插件。
脚本属性保存到拥有 Apps 脚本文件的插件开发人员的 Apps 脚本文件中。
用户属性与用户的帐户相关联。 用户是批准权限的帐户,代码在其权限下运行。
如果发布的 Web 应用程序可供任何人(甚至匿名)访问,但它以您的身份运行,则
您(Apps 脚本文件的所有者)是用户,而不是查看该 Web 应用程序的人。 Web 应用程序实际上可以将用户数据保存到用户应用程序数据文件夹中的文件(例如文本文件)中。
参见:https://developers.google.com/drive/api/v3/appdata
为了让您的 Web 应用程序将数据存储在用户的应用程序数据文件夹中,需要批准权限。 App Data 文件夹的范围是:"https://www.googleapis.com/auth/drive.appdata"
如果用户删除对代码的授权访问,则不会触发删除已保存的属性。 在不删除属性键的情况下删除授权或卸载插件将创建占用配额的孤立数据。 如果卸载应用程序,用户应用程序数据文件夹中的所有文件都会被删除。