【问题标题】:Google apps domain wide apps script properties using GAS使用 GAS 的 Google Apps 域范围应用程序脚本属性
【发布时间】:2017-03-17 04:42:11
【问题描述】:

我需要一个域全局变量,该变量将由域的应用管理员设置,所有用户的应用脚本都将读取该变量并在其应用脚本中应用设置。

脚本部署为网络应用程序。但是,不能使用脚本属性或文档属性,因为可以跨多个域部署应用程序脚本。也就是一个域,它应该是唯一的属性。

例如, 我是“mydomain.edu”的应用管理员,我设置为

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

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

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

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

【问题讨论】:

  • 您可以将域标识符添加到属性键,如下所示:“mydomain.edu_Example_Prop”为您的域。同样,其他域的“somedomain.edu_Example_Prop”。当访问 Web 应用程序时,它将根据访问它的用户的域安装设置
  • 但是如果为全球越来越多的管理员安装该应用程序,scriptProperties 的大小可能会溢出吗? scriptProperties 的大小是多少?
  • 您是否考虑过将参数作为 Web 应用 URL 的一部分进行传递?如果从 Intranet 页面启动,管理员只需更改部分链接。
  • 为什么不把你需要的所有东西都存储在一个文件中。我更喜欢文件存储而不是 PropertiesService。而且您永远不会溢出文件,也不会收到参数太大的错误。管理员可以与给定域中的所有用户共享只读文件。
  • 不是所有与我共享的文件都显示在“与我共享”中吗?以这种方式访问​​它们,甚至不知道它们的路径还不够吗?

标签: google-apps-script google-apps google-spreadsheet-api google-docs-api


【解决方案1】:

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

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

【讨论】:

  • 但是如果一个文件是共享的,它在与我共享的文件夹和应用程序脚本中都不可见。只有在用户打开链接support.google.com/drive/forum/AAAAOxCWsTosAqFmdPPxYc/?hl=en 后才能访问只读版本
  • 因此,您必须先收到一个链接才能单击,然后才能看到与我共享的文件。单击链接后,您可以使用 Google 脚本访问该文件吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-04
  • 1970-01-01
  • 2012-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多