首页 > 解决方案 > 您如何确定 Google Analytics oAuth 访问权限被撤销的原因

问题描述

我的应用程序允许用户对他们的 Google Analytics 进行 oAuth,以便我们可以向我们的用户提供分析和报告。我们有超过 1000 个连接的帐户,但其中一个存在问题,即在一段时间后与我们断开连接。当它第一次连接到我们时,它工作正常,但在看似随机的一段时间(有时是几小时,有时是几天)之后,它会为每个请求返回 401。根据Google 的错误文档,这表明身份验证令牌无效或已过期。我们的用户声称他们没有撤销对我们应用程序的访问权限,并且当他们检查当前连接的应用程序时我们的应用程序存在。

在浏览了Google 的 oAuth 文档后,我们确定它一定是 4 个记录在案的案例之一,但确定它们都不是,因为

  1. 用户声称他们没有撤销对我们应用程序的访问权限,并且该应用程序存在于他们的权限中
  2. 令牌在数小时内停止工作,因此它不会在 6 个月后超时
  3. 我们不要求 Gmail 范围,因此更改密码不会影响我们的访问权限。即使这样做了,用户也不会每隔几个小时/天更改一次密码
  4. 用户未获得 50 个应用的授权。从截图中我们可以看到不到 5 个

我们已经完成了让他们将他们的 Google Analytics 重新连接到我们的过程,并且这在很短的时间内起作用,但随后它开始返回 401。我们还让他们尝试使用不同的用户、个人资料,甚至让他们的 Google 管理员连接到我们,但在一定时间后他们都失败了。

我们看到的具体错误是

{"code":401,"errors":[{"domain":"global","location":"Authorization","locationType":"header","message":"Login Required","reason":"required"}],"message":"Login Required"}

如前所述,我们的其他 1000 多个连接帐户都不会发生这种情况。

我的主要问题是我们如何确定为什么 Google Analytics oAuth 访问权限被撤销?有了这些信息,我们有望找出如何阻止这种情况的发生。

标签: google-analyticsgoogle-oauthgoogle-analytics-api

解决方案


推荐阅读