google-analytics - 您如何确定 Google Analytics oAuth 访问权限被撤销的原因
问题描述
我的应用程序允许用户对他们的 Google Analytics 进行 oAuth,以便我们可以向我们的用户提供分析和报告。我们有超过 1000 个连接的帐户,但其中一个存在问题,即在一段时间后与我们断开连接。当它第一次连接到我们时,它工作正常,但在看似随机的一段时间(有时是几小时,有时是几天)之后,它会为每个请求返回 401。根据Google 的错误文档,这表明身份验证令牌无效或已过期。我们的用户声称他们没有撤销对我们应用程序的访问权限,并且当他们检查当前连接的应用程序时我们的应用程序存在。
在浏览了Google 的 oAuth 文档后,我们确定它一定是 4 个记录在案的案例之一,但确定它们都不是,因为
- 用户声称他们没有撤销对我们应用程序的访问权限,并且该应用程序存在于他们的权限中
- 令牌在数小时内停止工作,因此它不会在 6 个月后超时
- 我们不要求 Gmail 范围,因此更改密码不会影响我们的访问权限。即使这样做了,用户也不会每隔几个小时/天更改一次密码
- 用户未获得 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 访问权限被撤销?有了这些信息,我们有望找出如何阻止这种情况的发生。
解决方案
推荐阅读
- flask - AttributeError:“NoneType”对象没有 Flask 上传的“文件名”属性
- python - 如何修复:“re.error:在 23457 位置没有重复内容”?
- python-3.x - 计算给定神经网络的失败次数?
- c# - 我们可以有一个包含默认值 + 绑定数据的内容吗?
- c# - 动态向表中添加行的错误
- python - 如何处理大型网页抓取项目中的多线程?
- asp.net-core - Razor 视图中的三元字符串比较不起作用
- php - Docker 无法连接到特定端口上的主机
- flutter - 如何在颤动中将滚动视图放在堆栈小部件中
- python - 如何通过回调函数将一个 Bokeh 小部件的输出用作另一个小部件的输入?