谷歌应用程序使用GAS的域应用程序脚本属性

问题描述:

我需要一个域名全局变量,它将由域的应用程序管理员设置,所有用户应用程序脚本将读取变量并在其应用程序脚本中应用设置。谷歌应用程序使用GAS的域应用程序脚本属性

该脚本部署为一个Web应用程序。但是,脚本属性或文档属性无法使用,因为apps脚本可以跨多个域部署。又名为域名,它应该是独特的属性。

例如, 我 'mydomain.edu' 的应用程序管理员,我设置为

scriptProperties.setProperty('EXAMPLE_PROP', 'mydomain.edu_property'); 

的 'somedomain.edu' 设置一些其他应用程序管理员

scriptProperties.setProperty('EXAMPLE_PROP', 'somedomain.edu_property'); 

然后,该设置将会发生冲突。我需要每个域对同一个应用程序脚本的属性EXAMPLE_PROP设置唯一的值。

+0

您可以为属性键添加域标识符,如下所示:“mydomain.edu_Example_Prop”为您的域。同样,其他域的“somedomain.edu_Example_Prop”。当访问网络应用程序时,它将根据访问用户的域来安装设置 –

+0

但是,如果该应用程序针对全球越来越多的管理员安装,那么scriptProperties的大小可能会溢出? scriptProperties的大小是多少? –

+0

您是否考虑过将参数作为Web应用程序URL的一部分进行传递?如果从Intranet页面启动,管理员只会更改部分链接。 –

答案是将所有内容都存储在一个文件中。管理员可以与给定域中的所有用户共享该文件的只读版本。我有一堆用于存储文本文件here中的简单数组和字典的实用程序。

注意:这可能不是一个可以接受的答案,请参阅下面的注释。 And this link

+0

但是,如果一个文件是共享的,它是不可见的,既不与我共享文件夹也不通过应用程序脚本。只有在用户打开链接后才能访问只读版本https://support.google.com/drive/forum/AAAAOxCWsTosAqFmdPPxYc/?hl=zh_CN –

+1

因此,您必须先收到点击链接,然后才能看到该文件与我分享。你可以使用Google脚本访问该文件吗?点击链接。 – Cooper