我有一个适合我的Google Apps脚本。与表共享的其他人试图使用它获得消息:
您无权执行该操作。请问主人 此项目授予您访问权限。
该脚本用于使用新的数据行更新现有工作表。它是使用添加到UI的菜单项触发的,并执行以下操作:
我知道代码没有问题,因为它适用于我,所以它一定是权限问题,但我无法弄清楚如何。工作表与它们共享,存储文件的GDrive文件夹与它们共享。当我第一次自己运行脚本时,我必须授予脚本访问GDrive文件夹的权限,这显然已经完成了。
我是我们小组的开发人员,而不是数据的用户,但是我需要运行脚本来为用户每次需要时更新数据,而不是只是自己做,这是......很讨厌。
任何帮助,试图找出问题所在的位置都非常感激。
编辑:再次阅读本文时,我发现当文件转换时,首先将其保存到GDrive根目录,这就是我必须更改文件夹的原因。作为根,它不与该文件的用户共享。这可能是原因吗?如果是这样,我怎么能解决这个问题呢?我可以在转换时指定应将结果文件保存到哪个文件夹吗?
答案 0 :(得分:2)
根据我的经验,我创建了一个电子表格,每次打开电子表格时都会为用户检索G Suite许可信息。我所做的是我用超级管理员创建了脚本,但是当共享电子表格时,其他用户遇到了同样的问题,直到我从“应用程序脚本”菜单转到“发布”>“作为Webb应用程序部署”,我留下了如下图所示的选项< / p>
对我有用,我希望对您有用。更新之后,每次打开电子表格时,所有对电子表格具有“编辑”权限的用户都可以代表超级管理员检索信息。只需确保以sum(x=>x*x)(1, 4)=week2.Currying$$$Lambda$12/1468177767@3d24753a
sum(x=>x*x*x)(1, 4)=week2.Currying$$$Lambda$12/1468177767@67b64c45
sum2(x=>x*x)(1, 4)=week2.Currying$$$Lambda$15/1626877848@2f7a2457
sum2(x=>x*x*x)(1, 4)=week2.Currying$$$Lambda$15/1626877848@6108b2d7
Process finished with exit code 0
的身份执行该应用程序,而不要以使用脚本或电子表格的you
身份执行该应用程序即可。
通常,其他用户无法运行需要管理员权限的脚本,但这可以解决我的问题。请让我知道这是否对您有用!
问候。
答案 1 :(得分:0)
要解决此问题,您需要将脚本部署为Web应用程序(此想法来自@MarioR答案,但设置不同):
Publish
,然后点击Deploy as web app
Execute the app as
,选择User accessing the web app
,对于Who has access to the app
,选择Anyone
用户首次尝试使用该脚本时,将不得不允许该脚本(如果他们获得This app isn't verified
,则应在底部单击Advanced
,然后单击{{1} }。之后,他们可能需要刷新工作表才能运行脚本。
如果所有者将表单共享给新用户,则在脚本作为Web应用程序部署后,新用户可能需要等待15分钟(或大约15分钟),然后才能被授权对脚本进行授权(同时该用户将继续获得红色警告)。
只有所有者可以将其部署为Web应用程序,其他尝试使用该应用程序的用户将不会收到消息错误,只是弹出窗口Go to <script name> (unsafe)
永远卡住了!)
要更改所有者,请执行以下操作:使用所有者帐户打开工作表,单击Fetching Data
> Share
>单击触发“将来成为所有者”旁边的下拉菜单的箭头> {{1} }
答案 2 :(得分:0)
在尝试将脚本作为Web应用程序后,我得到了“ doGet”。 “ doGet”是什么意思?
答案 3 :(得分:0)
我确认@MagTun和@browly的解决方案共享文件并等待15分钟。即使我以编程方式授予了文件编辑权限,我上周也遇到了这个问题。棘手,因为有些用户获得了屏幕上的权限来授予权限(正确),但有些用户却收到了“您需要权限”消息或“对不起,目前无法打开文件”(错误)。但是我观察到,经过一段时间后,无论是否显式请求访问文件,用户都可以运行脚本。因此,实际上不需要其他任何操作,只需等待15分钟左右,它就会始终提示您进行许可。感谢您的提示,它确认了我的问题的解决方案。