我有一个带有UI应用脚本的电子表格。该应用从电子表格中读取/更新。
我当前的设置是:将应用程序作为“我”执行。
谁有权访问该应用:“任何人”。
我实际上是在发送通过电子邮件分配作业的工作流程。这些电子邮件可以在域外,但都是gmail地址。
我曾希望我能够访问Session.getActiveUser(),因为我需要根据用户访问UiApp来允许应用程序上的某些功能。除非我以脚本所有者身份登录,否则该功能似乎不提供任何信息。从其他地址访问时,Session.getActiveUser()为空。
有没有办法让活跃用户无需执行应用程序“用户访问应用程序”。我宁愿不必与所有最终用户共享电子表格。
感谢您的任何建议。
答案 0 :(得分:0)
活跃用户和财产类似电子邮件等。无法使用公共Google帐户访问。它可以在您自己的域中使用谷歌应用程序帐户访问和使用。见http://www.google.com/intl/en/enterprise/apps/business/pricing.html
否则它只是网络上的隐私点。 如果你仔细想想的话,我可以想象,但这是令人失望的。但
我还有另一个提示给你。请看一下这个链接http://shop.oreilly.com/product/0636920023210.do O'reilly还实施了一个工作流系统。它使用url参数传递电子邮件(身份)信息。不太安全,但结合Utilities.DigestAlgorithm SHA编码,您可以采取措施对您的网址电子邮件参数进行编码。
希望这有用。
答案 1 :(得分:0)
从评论中重写可读性:
在此上下文中共享电子表格并不意味着任何人都可以直接将电子表格作为文档打开,只要电子表格的网址仍然未知。如果您将应用程序部署为“用户访问Web应用程序”,则该应用程序确实需要访问它,但除非您发布它,否则没有人可以找到该工作表的URL。我经常使用这种配置,但当然我不知道你确切的用例... ;-)在我的情况下,应用程序本身决定了特定用户可以做什么或不做(通过启用/禁用某些功能/面板取决于已登录的用户。
Here is an example of an app like this,您能找到源电子表格吗?
我的电子表格中有“任何人都有链接”,因此应用可以读取和写入,但电子表格及其网址的名称未知(我除外),因此它永远不会出现在用户的文档列表中,即使用户通过webapp“写入”文档中的内容(因为他从未真正“打开”它)。我在不同的帐户上检查过,从未发现任何异常。