访问网络应用程序
Access to Web App
我必须编写一个小型预订网络应用程序,以便在我工作的公司内部使用。我决定试用 Google Apps Script (GAS)。简而言之,用户必须能够 select 列表中的任何设备并将其连同他计划使用它的日期和他的身份证明一起提交(这个小系统必须实现完整的 CRUD)。
环境:
- Google 电子表格作为数据库
- 使用 GAS 制作的界面发布为 Web 应用程序
- 该应用程序将仅供公司域的成员访问,但我现在正在我的个人帐户中开发它。
在开发环境下,一切正常。然后我将它部署为项目的 Web 应用程序(执行应用程序为:我;有权访问该应用程序的人:任何人)。当任何人访问 link 时,我无法检索用户信息 (Session.getActiveUser().getEmail())。它总是检索开发者信息(我的信息)。如果我将 "Execute app as" 切换为 "User accessing the app",则该应用程序无法访问充当数据库角色的电子表格。在开发环境中这工作正常。
网络应用程序的其余部分工作正常。我只是想以自动方式获取并记录谁进行了预订(而不是要求用户输入此信息)的身份(电子邮件)。
我是否必须先设置其他内容才能访问它?
提前致谢。
[编辑 1]: 情况发生了一点变化。我进行了更多测试,似乎部署的网络应用程序在我将其保存为项目中的新版本时得到更新。无论如何,我仍然无法检索到活动用户的电子邮件。 Session.getActiveUser().getEmail() 现在 returns 一个空字符串。
[编辑 2]: 根据 Sujay Phadke 的回答 ,我尝试将 Web 应用程序迁移到公司环境。它就像一个魅力。
朱利亚诺
这里有详细的记录:getActiveUser
当webapp权限设置为"execute as me"时,返回的userid字符串似乎为空。它还取决于您在那里提到的特定域权限。
我必须编写一个小型预订网络应用程序,以便在我工作的公司内部使用。我决定试用 Google Apps Script (GAS)。简而言之,用户必须能够 select 列表中的任何设备并将其连同他计划使用它的日期和他的身份证明一起提交(这个小系统必须实现完整的 CRUD)。
环境:
- Google 电子表格作为数据库
- 使用 GAS 制作的界面发布为 Web 应用程序
- 该应用程序将仅供公司域的成员访问,但我现在正在我的个人帐户中开发它。
在开发环境下,一切正常。然后我将它部署为项目的 Web 应用程序(执行应用程序为:我;有权访问该应用程序的人:任何人)。当任何人访问 link 时,我无法检索用户信息 (Session.getActiveUser().getEmail())。它总是检索开发者信息(我的信息)。如果我将 "Execute app as" 切换为 "User accessing the app",则该应用程序无法访问充当数据库角色的电子表格。在开发环境中这工作正常。
网络应用程序的其余部分工作正常。我只是想以自动方式获取并记录谁进行了预订(而不是要求用户输入此信息)的身份(电子邮件)。
我是否必须先设置其他内容才能访问它?
提前致谢。
[编辑 1]: 情况发生了一点变化。我进行了更多测试,似乎部署的网络应用程序在我将其保存为项目中的新版本时得到更新。无论如何,我仍然无法检索到活动用户的电子邮件。 Session.getActiveUser().getEmail() 现在 returns 一个空字符串。
[编辑 2]: 根据 Sujay Phadke 的回答
朱利亚诺
这里有详细的记录:getActiveUser
当webapp权限设置为"execute as me"时,返回的userid字符串似乎为空。它还取决于您在那里提到的特定域权限。