我正在使用 Google Apps 脚本创建一个网络应用程序,但遇到了困难。
有时,使用网络应用程序的用户会在使用多个 Google 帐户登录时使用它。当用户使用多个帐户登录时尝试访问 Google Web 应用程序时,会出现一个已知错误:无法登录 Google Apps 脚本
已知的解决方案是:
不幸的是,这些解决方案都不适合当前情况。我自己知道如何处理错误,但是如何以编程方式通知用户这些解决方案?
我想做的是拦截这个错误页面,并输出我自己的错误,这可能会指示用户注销他们的其他帐户。我正在使用 Google 协作平台部署网络应用程序,但在那里没有任何运气。
您还没有提到您想要实现的目标,但可能有解决方法。
另一个想法可能是制作一个中间页面,作为一种“登陆页面”,可以提醒用户此问题,然后将他们重定向到 Web 应用程序。如果您使用 cookie 或本地存储 API,那么如果他们在过去几天内看到它,您可以立即将其重定向。
我似乎记得在某个地方看到过,虽然我现在找不到了,但 Apps 脚本团队正计划开始在 2021 年解决这个问题。
作为解决方法,您可以从新的浏览器会话开始,首先登录要运行脚本的帐户,使用预期帐户至少加载脚本一次,然后才登录辅助帐户。
描述我的具体用例:
如果先登录帐户 B,尝试授权脚本,然后登录帐户 A 并尝试从后者运行脚本,即使他们明确尝试使用帐户 A 执行脚本,脚本也会默默失败。值得一提的是,该脚本依赖于
HtmlService
。这不会影响项目中不依赖所述服务的其他脚本。
此解决方法的步骤是:
然后,即使在多次刷新之后,脚本也会执行。关闭并重新打开脚本所绑定的电子表格也不会中断它。
我终于想出了如何解决这个问题。我也有类似的情况。我一直登录多个 Google 帐户。我通常必须打开隐身窗口。
但是,我学到的是,首先注销所有帐户。然后登录 Google Web App 脚本所需的帐户。让 Web 应用程序加载。
然后,登录您的其他帐户。一旦您使用验证 Google Web 应用程序所需的帐户登录,则登录其他 Google 帐户将不会受到干扰。
我在其他地方没有找到这个解决方案。
更新:这并不总是有效。一段时间后就坏了。