我正在开发一个应用程序,其中我需要访问多个谷歌日历。所有这些日历都来自不同的用户。现在我正在使用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。有什么建议吗?
它的每个用户(客户端用户)100,如您的客户端的用户。不是client_id。对于每个对您的应用程序进行身份验证的人,您最多可以让他们对其进行50次身份验证。您收到的每个刷新令牌都会起作用。50号之后,第一个将停止工作。我认为它们也可以工作6个月,如果6个月没有使用,它就会失效。
您可以让尽可能多的人使用您的客户端(Client_id)来对您进行身份验证。你不会有任何问题。
从谷歌Oauth2文档找到这里
代币到期
您必须编写代码来预测授予的令牌可能不再工作的可能性。令牌可能由于以下原因之一而停止工作:
•用户已撤销访问权限。
•该代币已六个月未使用。
•用户更改了密码,令牌包含Gmail范围。
•用户帐户已超过一定数量的令牌请求。
目前每个客户端每个用户帐户的刷新令牌限制为50个。如果达到限制,创建新令牌会自动使最旧的令牌失效,而不会发出警告。此限制不适用于服务帐户。
用户帐户或服务帐户在所有客户端上可以拥有的令牌总数也有更大的限制。大多数普通用户不会超过这个限制,但开发人员的测试帐户可能会超过。
如果您需要授权多个程序、计算机或设备,一种解决方法是将每个用户帐户授权的客户端数量限制为15或20。如果你是谷歌应用程序管理员,你可以创建额外的管理员用户,并使用他们来授权一些客户端。
问:你在哪里找到的?我想向谷歌报告一下它的有点混乱
注意:将刷新令牌保存在安全的长期存储中,然后继续只要它们仍然有效,就使用它们。限制适用于刷新按客户端用户组合颁发的令牌,以及所有客户端中的每个用户,并且这些限制是不同的。如果您应用程序请求足够的刷新令牌来遍历限制,旧的刷新令牌停止工作。