【发布时间】:2012-09-09 16:49:59
【问题描述】:
我有一个带有 UI 应用脚本的电子表格。该应用程序从电子表格中读取/更新。
我当前的设置是:以“我”身份执行应用程序。
谁有权访问该应用:“任何人”。
我实际上是通过电子邮件发送具有任务的工作流。这些电子邮件可以在域之外,但都是 gmail 地址。
我曾希望我能够访问 Session.getActiveUser(),因为我需要根据用户访问 UiApp 来允许应用程序上的某些功能。除非我以脚本所有者身份登录,否则该函数似乎不提供任何信息。从不同地址访问时,Session.getActiveUser() 为空。
有没有一种方法可以让活动用户不必以“用户访问应用程序”的身份执行应用程序。我宁愿不必与所有最终用户共享电子表格。
感谢您的任何建议。
【问题讨论】:
-
在这种情况下共享电子表格并不意味着只要电子表格的 URL 未知,任何人都可以直接将电子表格作为文档打开。如果您将应用程序部署为“访问 webapp 的用户”,则该应用程序确实需要访问它,但除非您发布它,否则没有人可以找到工作表的 url。我经常使用此配置,但当然我不知道您的确切用例... ;-) 在我的情况下,应用程序本身决定了特定用户可以做什么(通过启用/禁用某些功能/面板取决于登录的用户。
-
@Serge,我对你的评论感到困惑。由于共享电子表格的性质,该项目显示在谷歌驱动器/文档的用户“与我共享”列表中。重要的是,用户不能访问电子表格,而只能在 UiApp 之外工作。我是不是误解了你的评论。如果有一种方法可以共享电子表格,以便应用程序可以以“用户访问网络应用程序”的身份访问工作表,而无需提供对电子表格的直接访问权限,那么请说明如何操作。我所看到的所有内容都将电子表格放入用户文档列表中。
-
我的电子表格有“任何知道链接的人”,因此应用程序可以对其进行读写,但电子表格的名称及其网址是未知的(我除外),因此它永远不会出现在文档列表中即使用户通过 webapp 在文档中“写”了一些东西(因为他从未真正“打开”它)。我检查了不同的帐户,从未发现任何异常。
-
这是一个这样的应用程序示例,你能找到源电子表格吗? database access
-
@serge...完美。那是差异制造者。我没有考虑将权限更改为“任何知道链接的人”。 1. 未在公众号文件列表中显示电子表格。 2.当尝试访问 UIApp URL 时,它确实在登录公共帐户时拉动了活动用户。 3. 当未登录并尝试访问 URL 时,我需要先登录才能访问 web 应用程序。有用的信息...不是完全直观,但可以顺利解决。感谢您的信息。