2012-10-28 58 views
0

最近我一直在使用Google Apps脚本工作很多,但有一点对我来说仍然很不清楚,文档根本没有提示:更改脚本 - 升级路径时,Google Apps脚本授权会丢失?

将脚本作为WebApp发布时(访问:Anyone,作为:User accessing the WebApp)和要求权限(例如GMailApp访问,UserPropertiesTrigger),然后改变该脚本(但不要求任何额外的权限,只是改变代码),并再次发布,似乎触发器由用户授权的脚本运行失去他们的授权(例如,用户从该脚本获得具有失败消息的电子邮件:Authorization is required to perform that action.)。

我读过关于基于它们的版本是独立的库,但从库中访问GMailApp或库中的Trigger是不可能的,因为它需要活动用户?有没有办法解决?什么是建议的升级路径,例如如何对脚本进行(代码)更改而不会使现有用户失败?

回答

0

有些服务--gmailApp和mailApp肯定会被Google视为敏感问题,因此对代码进行任何修改,即使是非常小的更改,都意味着授权的延期。我现在完全记不起我在哪里阅读这些信息,但我非常确定自己阅读了它(!),并且在本论坛中我也看到了它作为Google员工的答案。请原谅我对参考文献不准确。 无论如何...这解释了为什么你的脚本和AFAIK有这些授权问题,所以无法避免这个过程。也就是说,您的用户应该获得授权屏幕,而不是他们在您的应用中使用的服务的错误消息。 如果您在应用程序中使用触发器(当然是您自己设置的),那么您应该手动运行这些函数以通过授权,因为触发器是在创建它们的权限下执行的,无论您的web应用程序如何发布。 我希望我很清楚,如果不是指the doc about installable triggersthis doc also.

+0

我明白了。自己运行这些函数是不可能的,因为我需要在它们内部访问GMail,但是现在知道任何代码更改都会触发重新授权,这只会让升级脚本的方法只有一种:一旦它被发布,永远不会再碰它代码更改必须在重新发布已更正的脚本中发生。 – Joscha