【问题标题】:Clarification on Active User Scope and Script Authorization关于活动用户范围和脚本授权的说明
【发布时间】: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 应用程序。有用的信息...不是完全直观,但可以顺利解决。感谢您的信息。

标签: google-apps-script


【解决方案1】:

从 cmets 重写以提高可读性:

在这种情况下共享电子表格并不意味着只要电子表格的网址仍然未知,任何人都可以直接将电子表格作为文档打开。如果您将应用程序部署为“用户访问 webapp”,则该应用程序确实需要访问它,但除非您发布,否则没有人可以找到工作表的 url。我经常使用此配置,但当然我不知道您的确切用例... ;-) 在我的情况下,应用程序本身决定了特定用户可以做什么(通过启用/禁用某些功能/面板取决于登录的用户。

Here is an example of an app like this,你能找到源电子表格吗?

我的电子表格有“任何知道链接的人”,因此应用程序可以对其进行读写,但电子表格的名称及其网址是未知的(我除外),因此它永远不会出现在用户的文档列表中,即使用户通过 webapp 在文档中“写”一些东西(因为他从未真正“打开”它)。我检查了不同的帐户,从未发现任何异常。

【讨论】:

    【解决方案2】:

    活跃用户和财产之类的电子邮件等。无法通过公共 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 编码,您可以采取措施对您的 url 电子邮件参数进行编码。

    希望这会有所帮助。

    【讨论】:

    • 这并不完全正确,当应用程序部署为“用户访问应用程序”时,即使是“普通”gmail 帐户,您也会收到用户登录电子邮件。see docs
    猜你喜欢
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-22
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多