我最近一直在使用Google Apps Script,但有一件事对我来说仍然非常不清楚,文档中根本没有对此做出任何暗示:
当将脚本发布为WebApp ( access:Anyone
,as:User accessing the WebApp
)并请求权限(例如GMailApp
access、UserProperties
和Trigger
),然后更改该脚本(但不要求任何额外权限,只是更改代码)并再次发布时,似乎由用户先前授权的脚本运行的触发器失去了授权(例如,用户从该脚本收到一封带有失败消息:Authorization is required to perform that action.
的电子邮件)。
我读到过库是基于它们的版本独立的,但是从库中的GMailApp
或库中的Trigger
访问是不可能的,因为它需要活动用户?有什么办法可以解决这个问题吗?建议的升级路径是什么,例如,我如何对脚本进行(代码)更改,而不会使现有用户失败?
发布于 2012-10-29 00:13:41
一些服务--当然是gmailApp和mailApp --被谷歌视为敏感问题,因此,对代码的任何修改,即使是非常小的变化,都意味着授权的更新。我现在记不清我是在哪里读到这些信息的,但我很确定我读到了(!)我在这个论坛的某个地方也看到了谷歌的回答。请原谅我关于参考资料的不准确。不管怎样..。这就解释了为什么你的脚本和AFAIK有这些授权问题,没有办法避免这个过程。也就是说,你的用户应该得到一个授权屏幕,而不是他们在你的应用程序中使用的服务的错误消息。如果你在你的应用程序中使用触发器(当然是你自己设置的),那么你应该手动运行这些函数来通过授权,因为无论你的webapp是如何发布的,触发器都是在创建它们的人的授权下执行的。我希望我说得足够清楚,如果不能参考the doc about installable triggers和this doc also.
https://stackoverflow.com/questions/13112923
复制相似问题