运行 来自 Chrome 扩展的 Apps 脚本需要授权

Running Apps Script from Chrome extension requires authorization

我正在尝试从我的 Chrome 扩展上的事件执行 Google Apps 脚本。虽然效果很好,但当新用户第一次 运行 时,apps 脚本需要用户授权才能执行。问题是当 运行 从扩展中调用脚本时,用户看不到授权请求,所以什么也没有发生。他们必须先在 Web 浏览器上手动 运行 脚本,然后 扩展程序开始工作后

我的问题是,如果部署脚本是为了 "anyone" 访问它,为什么它要求授权。 Google sheet 也由拥有 link 的任何人发布和编辑,因此编辑它不需要授权。

...no authorization is required to edit it

这里有一个很好的区别...共享电子表格不需要许可,但是编辑者仍必须获得服务的授权。对于表格 UI,登录您的 Google 帐户即可获得足够的授权。

Google 当脚本代表用户执行通常需要登录的任何操作时,Apps 脚本会启动授权周期。

电子表格可能是 public,脚本设置为 "anyone" 以访问它,但根据您的描述,我认为脚本也设置为 运行 作为“用户访问网络应用程序”。正是 那个 驱动授权周期的选择,就像您第一次在编辑器中测试脚本时所做的那样。

如果脚本使用任何需要授权的服务(例如 SpreadsheetService),则需要授权。

如果您改为将其作为 "Me" 发布到 运行,那么只有您需要提供授权。此外,如果您还将其可访问性更改为 "Anyone, including anonymous",那么它甚至不需要 Google 帐户登录。 (如果您没有使用任何需要授权的服务,您也可以避免授权步骤。)