Oauth 2.0 谷歌API刷新令牌限制

Oauth 2.0 谷歌API刷新令牌限制,oauth-2.0,oauth,google-api,google-oauth,google-calendar-api,Oauth 2.0,Oauth,Google Api,Google Oauth,Google Calendar Api,我正在开发一个需要访问多个谷歌日历的应用程序。所有这些日历都来自不同的用户。现在我正在使用OAuth2进行同步。但据我所知,每个客户端ID只能生成25个刷新令牌 Note: Save refresh tokens in secure long-term storage and continue to use them as long as they remain valid. Limits apply to the number of refresh tokens that are issu

我正在开发一个需要访问多个谷歌日历的应用程序。所有这些日历都来自不同的用户。现在我正在使用OAuth2进行同步。但据我所知,每个客户端ID只能生成25个刷新令牌

Note: Save refresh tokens in secure long-term storage and continue to use 
them as long as they remain valid. Limits apply to the number of refresh 
tokens that are issued per client-user combination, and per user across all clients, 
and these limits are different. If your application requests enough refresh tokens 
to go over one of the limits, older refresh tokens stop working.
按照建议,我将刷新令牌保留在我的数据库中。但我的问题是,如果我有更多的客户想要同步他们的日历呢?有没有办法忽略这个限制?当然没有。我现在想的只是创建更多的客户端ID。有什么建议吗?

它的50%是每个用户(客户用户)作为您客户的用户。不是客户端id。对于每个验证您的应用程序的人,您可以让他们最多验证50次。您收到的每个刷新令牌都将正常工作。第50次之后,第一个将停止工作。我想,它们也可以工作6个月,如果6个月没有使用,它就会失效

您可以让尽可能多的人使用您的客户机(客户机id),只要他们愿意验证您的身份。你不会有任何问题

从Google Oauth2文档中找到

代币到期

您必须编写代码以预测授予的令牌可能不再工作的可能性。令牌可能因以下原因之一而停止工作:

•用户已撤销访问权限

•代币已六个月未使用

•用户更改了密码,并且令牌包含Gmail范围

•用户帐户已超过一定数量的令牌请求

目前,每个客户端的每个用户帐户的刷新令牌数限制为50个。如果达到限制,创建新令牌会自动使最旧的令牌无效,而不会发出警告。此限制不适用于服务帐户

用户帐户或服务帐户在所有客户端上可以拥有的令牌总数也有更大的限制。大多数普通用户不会超过此限制,但开发人员的测试帐户可能会超过此限制

如果需要授权多个程序、机器或设备,一种解决方法是将每个用户帐户授权的客户端数量限制为15或20。如果你是谷歌应用程序管理员,你可以创建其他管理员用户,并使用他们来授权一些客户端

问题:你在哪里找到的?我想向谷歌报告这有点混乱

注意:将刷新令牌保存在安全的长期存储中,然后继续 只要它们仍然有效,就使用它们。限制适用于 刷新根据客户机用户组合发布的令牌,以及 所有客户端的每个用户,这些限制是不同的。如果你的 应用程序请求足够的刷新令牌以通过 限制,旧的刷新令牌将停止工作


是的。你在哪里找到的?我想向谷歌报告这件事,因为它令人困惑。我刚刚用一个更好的文档来源的链接更新了它。很抱歉,我删除了我以前的评论。不管怎样,这就是我读的地方。我终于可以继续了。感谢@DalmTo澄清一切。:)对不起,我把这条旧线索挖出来了,但我还是不完全明白。我有80多个网站,每个网站都使用“Wordpress Dashboard的Google Analytics Widget”插件,这需要授权,但最近我注意到我已经超过了这个限制,因为我已经授权了一些较新的网站,所以一些较旧的网站没有链接。我的限制是25还是50,解决办法是什么?感谢拥有50多个刷新令牌的用户。这与网站无关。如果用户登录,您将获得一个刷新令牌,如果他们再次登录,将获得另一个刷新令牌。他们最多可以有50个刷新令牌。请务必保存最新的刷新令牌,而不要使用旧的刷新令牌。如果你有80多个网站,那么你应该有80多个项目,你不应该在不同的应用程序之间共享客户端。