Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何允许用户通过我自己的Google脚本Web应用程序编辑我的工作表文件?_Javascript_Google Apps Script - Fatal编程技术网

Javascript 如何允许用户通过我自己的Google脚本Web应用程序编辑我的工作表文件?

Javascript 如何允许用户通过我自己的Google脚本Web应用程序编辑我的工作表文件?,javascript,google-apps-script,Javascript,Google Apps Script,我对谷歌的脚本非常熟悉。我正在尝试创建一个web应用程序,通过它,用户可以登录(使用他们的Gmail帐户)并修改Google工作表。这是注册页面的截图 最初,用户通过其现有的Google帐户登录,并显示此页面。单击按钮后,我希望脚本将他们提交的信息和当前的电子邮件添加到Google工作表中。一旦他们的信息出现在表单中,他们只需通过谷歌登录即可访问该系统。但是,当我使用另一个帐户尝试此操作时,会出现以下错误: 这是权限问题吗?或者谷歌脚本不允许对我的硬盘上的文件进行这种直接操作?以下是我的we

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

最初,用户通过其现有的Google帐户登录,并显示此页面。单击按钮后,我希望脚本将他们提交的信息和当前的电子邮件添加到Google工作表中。一旦他们的信息出现在表单中,他们只需通过谷歌登录即可访问该系统。但是,当我使用另一个帐户尝试此操作时,会出现以下错误:

这是权限问题吗?或者谷歌脚本不允许对我的硬盘上的文件进行这种直接操作?以下是我的web应用的权限设置:


这可能吗?

从您的问题中,我可以理解您的Web应用程序的设置如下

  • 以用户访问web应用程序的身份执行应用程序
  • 谁有权访问应用程序:任何人
对于上述Web应用,您希望用户使用每个浏览器访问Web应用

确认要点: 根据上述情况,请确认以下几点。首先,我认为,当您想要输入值的电子表格位于每个用户的Google驱动器中时,不会发生错误。所以从你的问题来看,我想电子表格可能在你的谷歌硬盘里

  • 虽然我不确定您的整个脚本,但如果您的Web应用脚本中使用的Google电子表格在您的Google Drive中,则需要与用户共享Google电子表格。即使Web应用程序的脚本是电子表格的容器绑定脚本,并且使用了
    getActiveSpreadsheet()
    ,也需要与用户共享电子表格。
    • 当用户提交表单时,如果您希望将值放入Google Drive中的电子表格中,请与作为编写者的用户共享电子表格
    • 当用户提交表单时,如果您只想在Google Drive中读取电子表格中的值,请将电子表格作为查看器与用户共享
    • 此外,您还可以公开共享。但我认为这可能不是你期望的方向
其他方法: 如果您不想与用户共享电子表格,那么下面的解决方法如何

  • 按以下设置部署新的Web应用程序。
    • 以:我的身份执行应用程序
    • 谁有权访问该应用程序:任何人,甚至匿名
      • 在这种情况下,您还可以使用密钥作为查询参数,让用户访问此Web应用
      • 当使用
        谁有权访问应用程序:任何人
        时,需要与用户共享新Web应用程序的脚本。所以我建议使用
        任何人,甚至是匿名的
        来处理这种情况
  • 提交表单时,这些值将使用新的Web应用程序放入您的Google电子表格中。
    • 在这种情况下,新的Web应用程序被用作将值放入电子表格的包装器API
  • 参考资料:

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

    • 以用户访问web应用程序的身份执行应用程序
    • 谁有权访问应用程序:任何人
    对于上述Web应用,您希望用户使用每个浏览器访问Web应用

    确认要点: 根据上述情况,请确认以下几点。首先,我认为,当您想要输入值的电子表格位于每个用户的Google驱动器中时,不会发生错误。所以从你的问题来看,我想电子表格可能在你的谷歌硬盘里

    • 虽然我不确定您的整个脚本,但如果您的Web应用脚本中使用的Google电子表格在您的Google Drive中,则需要与用户共享Google电子表格。即使Web应用程序的脚本是电子表格的容器绑定脚本,并且使用了
      getActiveSpreadsheet()
      ,也需要与用户共享电子表格。
      • 当用户提交表单时,如果您希望将值放入Google Drive中的电子表格中,请与作为编写者的用户共享电子表格
      • 当用户提交表单时,如果您只想在Google Drive中读取电子表格中的值,请将电子表格作为查看器与用户共享
      • 此外,您还可以公开共享。但我认为这可能不是你期望的方向
    其他方法: 如果您不想与用户共享电子表格,那么下面的解决方法如何

  • 按以下设置部署新的Web应用程序。
    • 以:我的身份执行应用程序
    • 谁有权访问该应用程序:任何人,甚至匿名
      • 在这种情况下,您还可以使用密钥作为查询参数,让用户访问此Web应用
      • 当使用
        谁有权访问应用程序:任何人
        时,需要与用户共享新Web应用程序的脚本。所以我建议使用
        任何人,甚至是匿名的
        来处理这种情况
  • 提交表单时,这些值将使用新的Web应用程序放入您的Google电子表格中。
    • 在这种情况下,新的Web应用程序被用作将值放入电子表格的包装器API
  • 参考资料: