Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.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
Google apps script 使用跨帐户的模板数据设置新帐户_Google Apps Script - Fatal编程技术网

Google apps script 使用跨帐户的模板数据设置新帐户

Google apps script 使用跨帐户的模板数据设置新帐户,google-apps-script,Google Apps Script,当新用户通过单击我必须在脚本中完成的URL接受新帐户使用我的程序的邀请时: 将数据从模板电子表格复制到新用户的新电子表格 有几个条件可以解决: -要复制的模板电子表格位于管理帐户中 -用户的web应用已配置为使用用户帐户而不是我的管理帐户登录 我正在努力学习如何在登录用户帐户时读取和复制模板电子表格数据?由于Google Apps没有可编写脚本的界面,无法从其他帐户访问电子表格。即使用户将拥有对模板电子表格的读取权限 我考虑过不同的想法,但不确定..我可以将web应用链接在一起,并在从不同帐户访

当新用户通过单击我必须在脚本中完成的URL接受新帐户使用我的程序的邀请时:

将数据从模板电子表格复制到新用户的新电子表格

有几个条件可以解决: -要复制的模板电子表格位于管理帐户中 -用户的web应用已配置为使用用户帐户而不是我的管理帐户登录

我正在努力学习如何在登录用户帐户时读取和复制模板电子表格数据?由于Google Apps没有可编写脚本的界面,无法从其他帐户访问电子表格。即使用户将拥有对模板电子表格的读取权限


我考虑过不同的想法,但不确定..我可以将web应用链接在一起,并在从不同帐户访问的web应用之间传递数据吗?或者,除了电子表格和谷歌硬盘,我还需要编写一个全新的数据存储脚本吗?新的数据存储必须能够从管理帐户和用户帐户访问

如果您的程序是GAS WebApp,请使用以下设置从您的管理员帐户进行部署:

以以下方式执行应用程序:me(管理员)。account@yourdomain.com)

谁有权访问应用程序:任何人

这样,应用程序的服务器端代码将在管理员帐户下运行,并可以访问您的模板电子表格,登录用户将能够与应用程序的客户端交互。您可能必须在应用程序中实现某些用户授权,因此只有收到邀请的特定用户才允许访问该应用程序。例如,您可以将用户的电子邮件地址存储在管理模板电子表格的工作表中,并在为用户创建帐户之前检查列表中是否有当前使用。Session.getActiveUser().getEmail()将为您提供当前活动用户的电子邮件地址。同样,您可以检查活动用户是否已经创建了帐户


如果您的程序不是GAS WebApp-请编辑您的问题以添加更多相关细节。

仍然感谢您的输入,但会话。getActiveUser()。getEmail()仅在web app设置为“以用户身份执行”时有效,否则getEmail()仅在“以我的身份执行”时返回空白字符串设置了,我无法判断用户是谁。这并不完全正确。Session.getActiveUser().getEmail()将返回用户的电子邮件,如果脚本的所有者和用户位于同一Google Apps域中。但是,如果您从通用(非域)谷歌帐户(即。someone@gmail.com),它将返回一个空字符串。我觉得你是在一个域帐户中工作,尽管你在问题中没有明确表示。谢谢,不用担心,我希望互联网上的任何人都能使用该应用程序…我会使用“按我自己的方式执行”并将其URL和电子邮件地址作为密码传递给用户,但这将是一个巨大的安全漏洞,因为任何能够伪造URL的人都可以访问管理员和其他用户的数据。当然,我想保留GAS作为GUI,但我也正在检查后端的googlecloudstore。而且,如果你有任何想法的话,还得想办法从FuiUIApp中调用谷歌云存储,这将是非常有帮助的。在这种情况下,考虑使用和替代数据存储。我喜欢使用,但您可以使用几乎任何数据库,只要它是可公开访问的(而不是在防火墙后面),使用。您的服务器端脚本将使用连接设置或API密钥与您的数据存储接口,因此即使在以“用户访问webapp”的身份执行的应用程序中也能工作。再次感谢..我认为这可能是最好的答案。