繁体   English   中英

如何允许用户通过我自己的 Google Scripts Web 应用程序编辑我的表格文件?

[英]How do I allow users to edit my Sheets file via my own Google Scripts Web App?

我是新的谷歌脚本。 我正在尝试创建一个 web 应用程序,用户可以通过该应用程序登录(使用他们的 Gmail 帐户)并修改 Google 表格。 这是注册页面的截图。

登录页面

最初,用户通过他们现有的 Google 帐户登录并显示此页面。 单击按钮后,我想要脚本将他们提交的信息和他们当前的 email 添加到 Google 表格中。 一旦他们的信息出现在工作表中,他们只需通过 Google 登录即可访问系统。 但是,当我使用另一个帐户尝试此操作时,我收到此错误:

您需要访问权限

这是权限问题吗? 还是 Google Scripts 不允许对我的云端硬盘上的文件进行这种直接操作? 这是我的 web 应用程序的权限设置:

Web 应用程序权限

这是可能吗?

根据您的问题,我可以理解您的 Web 应用程序的设置如下。

  • Execute the app as: User accessing the web app
  • Who has access to the app: Anyone

对于上述 Web 应用程序,您想让用户使用每个浏览器访问 Web 应用程序。

确认要点:

从以上情况,请确认以下几点。 起初,我认为当您要放置值的电子表格在每个用户的 Google Drive 中时,不会发生错误。 所以从你的问题来看,我认为电子表格可能在你的谷歌驱动器中。

  • 虽然我不确定您的整个脚本,但如果您的 Web 应用程序脚本中使用的 Google 电子表格在您的 Google Drive 中,则需要与用户共享 Google 电子表格。 即使Web Apps的脚本是Spreadsheet的容器绑定脚本,使用getActiveSpreadsheet() ,也需要与用户共享Spreadsheet。
    • 当您想在用户提交表单时将值放入您的 Google Drive 中的电子表格时,请与作为作者的用户共享电子表格。
    • 如果您只想在用户提交表单时从 Google Drive 中的电子表格中读取值,请以查看者的身份与用户共享电子表格。
    • 此外,您可以公开分享。 但我认为这可能不是你所期望的方向。

其他方法:

如果您不想与用户共享电子表格,以下解决方法如何?

  1. 按照以下设置部署新的 Web 应用程序。
    • Execute the app as: Me
    • Who has access to the app: Anyone, even anonymous
      • 在这种情况下,您还可以使用密钥作为查询参数,让用户访问此 Web 应用程序。
      • Who has access to the app: Anyone ,需要与用户共享新的Web 应用程序的脚本。 所以我建议在这种情况下使用Anyone, even anonymous
  2. 提交表单后,使用这个新的 Web 应用程序将值放入您的 Google 电子表格。
    • 在这种情况下,新的 Web 应用程序用作包装器 API 以将值放入电子表格。

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM