首页 > 解决方案 > Google Script onOpen 函数(从第一个链接,显示第二个链接,然后返回第一个链接。)

问题描述

我有一些谷歌脚本和 html(模板)。我不知道如何在“数据(电子表格)链接”中编写 onOpen 函数,链接如下。

所以目标是,当我打开“数据(链接)”时,它会引导我进入表单,在我登录后,它会再次引导我进入“数据(链接)”表。

有可能这样做吗?因为从逻辑上讲,当数据链接打开时,它会导致表单,意味着它将始终指向那个表单。非常感谢您的回复。此致..

https://docs.google.com/spreadsheets/d/1-JMKa9maWG5110H8cy9Pg7eQP6wNI5Nr-miFgKXimUY/edit?usp=sharing

标签: htmlformsgoogle-apps-scriptgoogle-sheetsspreadsheet

解决方案


抱歉,没有办法做到这一点

据我了解,您希望能够:

  • 向某人发送一个普通的电子表格链接。
  • 将该链接重定向到您自己的登录页面。
  • 用户登录后,将他们重定向到电子表格。

此外,我相信您希望用户无法访问电子表格,除非他们已登录。

这是不可能的。已经有一个登录系统,那就是谷歌的。您将电子表格与您想要与之共享的人共享,然后他们需要登录到他们的 Google 帐户才能访问它。

如果这是您的团队,那么您可能应该查看 Workspace 帐户,因为它具有您可能正在寻找的更多功能,例如识别正在访问您的电子表格的用户(如果他们在您的域中)的能力。

解决方法的想法

  • 您可以改为发送指向Web 应用程序的链接,然后让它重定向它们,或者提供指向电子表格的链接。但是,一旦他们拥有链接,他们就会拥有链接并且可以绕过登录屏幕。
  • 您可以嵌入电子表格,使其显示在您的网络应用程序中。但是,很容易找到 URL,此外,如果要嵌入工作表,则需要公开工作表。
  • 在您的 Web 应用程序上创建一个表单。根据您拥有的信息量,您可以通过客户端到服务器通信将其转换为 HTML ,即在客户端 HTML 和 JS 与“后端”Apps 脚本之间发送消息。这是完全隐藏和保护电子表格链接的好方法,但是,您需要自己实现所有查看和编辑功能。

参考

编辑

您将类似的东西window.close();用作功能的一部分的想法onOpen将行不通。

这是因为弹出窗口的 HTML 是在iframe中加载的。这类似于网页中的网页。问题是这些 iframe 具有严格的安全策略,以防止其中的 JavaScript 访问它之外的任何内容。

您可以尝试调用window.parentiframe,但它会给您弹出窗口,然后如果您调用window.parent.parent,您将获得:

在此处输入图像描述


推荐阅读