1

大家好,最近我的谷歌日历插件应用程序遇到了用户无法登录的问题。从堆栈驱动程序日志来看,刷新令牌似乎已过期。当我在“googleService.getAccessToken()”的 try catch 块中添加代码“googleService.getLastError()”时。我收到错误消息 { https://oauth2.googleapis.com/token failed because the URL has not been whitelisted in the script manifest.] name: 'Exception' }。这是尝试从谷歌服务器获取访问令牌和刷新令牌的 url。将此网址添加到白名单后,我的问题就解决了。

但真正让我困惑的是:

  1. 我与谷歌支持人员交谈,他们说因为刷新令牌已过期,并且当应用程序在 url 上方调用时,因为它没有被列入白名单,所以它拒绝了请求。因此,我的刷新令牌没有发出,也没有抛出白名单异常。但是,当该 url 未列入白名单时,getAccessToken() 如何抛出过期令牌异常?请求不应该被其他一些例外直接拒绝吗?
  2. 我的应用程序已经运行了半年而没有将该网址列入白名单,并且在过去 6 个月内我没有进行任何更改。为什么只有在我的刷新令牌过期时才会出现 url 未列入白名单的问题?或者刷新令牌过期和网址未被列入白名单问题之间是否存在任何关系。
4

1 回答 1

0

附加组件的安全要求最近发生了变化

虽然直到最近它还没有工作,但到目前为止,您的附加组件重定向到的所有 URL 都必须列入白名单。

因此,以前使用实现未列入白名单的 url 的附加组件不再正常工作。

  • 许多用户受到此更改的影响。

  • 修复您的附加组件的唯一方法是将重定向 url 和您执行获取请求的所有其他 url 列入白名单。

  • 请注意,您可以使用通配符来匹配子域。

  • 有关白名单的更多信息,请参见此处

  • 有关如何在附加组件中实施白名单的更多详细信息,请参阅此答案。

于 2021-07-07T08:06:57.253 回答