Bad*_*die 9 google-sheets google-apps-script google-drive-api google-sheets-api
我有一个适用于我的Google Apps脚本.与表共享的其他人试图使用它获取消息:
您无权执行该操作.请让此项目的所有者授予您访问权限.
该脚本用于使用新的数据行更新现有工作表.它是使用添加到UI的菜单项触发的,并执行以下操作:
我知道代码没有问题,因为它适用于我,所以它一定是权限问题,但我无法弄清楚如何.工作表与它们共享,存储文件的GDrive文件夹与它们共享.当我第一次自己运行脚本时,我必须授予脚本访问GDrive文件夹的权限,这显然已经完成了.
我是我们小组的开发人员,而不是数据的用户,但是我必须运行脚本来为用户每次需要时更新数据,而不是仅仅自己做,这是...烦人.
任何帮助,试图找出问题在这里的位置非常感谢.
编辑:再次阅读它,我发现当文件转换时,首先它保存到GDrive根,这就是为什么我必须更改文件夹.作为根,它不与该文件的用户共享.这可能是原因吗?如果是这样,我怎么能解决这个问题呢?我可以在转换时指定应将结果文件保存到哪个文件夹吗?
要解决此问题,您需要将脚本部署为 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底部的 ,然后点击Go to <script name> (unsafe))。在此之后,他们可能需要刷新工作表才能运行脚本。
如果所有者将工作表共享给新用户,则在将脚本部署为 Web 应用程序后,新用户可能需要等待 15 分钟(左右)才能允许对脚本进行授权(同时该用户将继续获得红色警告)。
只有所有者可以部署为 Web 应用程序,其他尝试使用它的用户不会收到消息错误,只是一个Fetching Data永远卡住的弹出窗口!) 要更改所有者:使用所有者帐户打开工作表,单击Share> Advanced> 点击触发“未来所有者”旁边的下拉菜单的箭头 > Set as owner
小智 3
根据我的经验,我创建了一个电子表格,每次打开电子表格时都会检索用户的 G Suite 许可证信息。我所做的是,我使用超级管理员创建了脚本,但是当共享电子表格时,其他用户遇到了同样的问题,直到我从“应用程序脚本”菜单中转到“发布”>“部署为 Webb 应用程序”,我保留了如下图所示的选项
这对我有用,我希望它对你有用。在此更新后,对电子表格具有编辑权限的所有用户都可以在每次打开电子表格时代表超级管理员检索信息。只需确保以使用脚本或电子表格的身份执行应用程序you,而不是以the user使用脚本或电子表格的身份执行应用程序。
通常其他用户无法运行需要管理员权限的脚本,但这解决了我的问题。请告诉我这是否对您有用!
问候。
| 归档时间: |
|
| 查看次数: |
5913 次 |
| 最近记录: |