【问题标题】:Can Google Apps Scripts be flexible enough to handle multiple sheets?Google Apps 脚本是否足够灵活以处理多个工作表?
【发布时间】:2022-04-04 10:48:28
【问题描述】:

是否可以将一个作为 Web 应用程序发布的 Google Apps 脚本足够灵活地连接到不同的电子表格,具体取决于使用该应用程序的个人或网站管理员?

我在使用我的一个脚本时看到,在“项目属性”下有“脚本属性”和“用户属性”选项卡。

我尝试添加一个属性,但无法将其添加到 Stick

然后我找到了 Google Apps 脚本“类属性”区域。

当我想到这两个属性的工作原理时,我想到了 Google 小工具。用户可以将小工具添加到她的 Google 站点,但随后可以在该小工具的属性区域中更改或配置小工具

这种类型的功能可能吗?

【问题讨论】:

    标签: google-apps-script web-applications google-sites


    【解决方案1】:

    您可以配置允许一个脚本访问 Apps 脚本用户的文件的设置。用户需要使用他们的 Google 帐户登录。 您可以发布 Apps Script 脚本以以 ANYONE 身份运行,并以以下身份执行应用程序: 用户访问 Web 应用程序。这要求用户使用他们的 Google 帐户登录,并允许脚本访问用户文件。

    属性服务用于存储。它不设置或授予权限。不同类型属性的细分比较显示在:

    Comparison of Property Stores

    【讨论】:

    • 桑迪,所以我想你是说我可以编写一个脚本。将其发布为 Web 应用程序并仅向您发送 Web 应用程序 URL;不是脚本代码。不知何故,我可以允许您像您一样执行应用程序,并且您将能够以某种方式添加能够读取和写入数据的电子表格。然后,我可以将与我发送给您的完全相同的 url 发送给另一个人,然后该人可以像他一样执行应用程序,他可以添加自己的电子表格来读取和写入数据。听起来对吗?
    • 是的,完全正确。一个网址,每个人都使用他们的 Google 帐户登录,以及访问他们的云端硬盘的脚本。他们需要第一次获得授权。
    • 桑迪,我想让你知道我正在研究“你可以发布 Apps Script 脚本以任何人身份运行,并将应用程序执行为:用户访问 Web 应用程序。”我有能够使用我的开发人员登录创建带有代码的电子表格,所以我认为我接近成功的测试。到目前为止,我的非开发人员登录我可以看到授权后的用户界面,但还没有新的电子表格。
    【解决方案2】:

    对于这个问题,“我可以修改 Google 脚本以根据谁运行它以不同的方式运行”,是的。

    例如,您可以使用函数“getActiveUser()”,根据用户是谁,您可以设置一个变量,例如“thisUsersSheet == usersSpreadsheet key”,以及许多其他方法来执行此操作。

    是否可以让它取代网站小工具,这在很大程度上取决于您要具体实现的目标。

    注意:您在问题中提到了“Script properties”和“User Properties”。远离这些,它们已被弃用。

    【讨论】:

    • HDCerberus,我正试图理解你在说什么......最初我没有看到你的回答抱歉......我希望你也看看我添加到的评论桑迪的帖子。因此,如果您不能使用某种属性,那么我无法理解一个人如何在不给他们代码的情况下获得 usersSpreadsheet 键,以便他们可以将其插入该代码中。我希望你能帮助我理解。
    • 最好的办法是参考文档:developers.google.com/apps-script/guides/properties,因为我无法深入探讨如何为每个人自定义脚本,这将不得不成为你自己想出来的东西。 ://
    猜你喜欢
    • 2019-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多