【问题标题】:Google API refresh token limitGoogle API 刷新令牌限制
【发布时间】:2014-11-25 23:25:06
【问题描述】:

我正在开发一个需要访问多个谷歌日历的应用程序。所有这些日历都来自不同的用户。现在我正在使用 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。有什么建议吗?

【问题讨论】:

    标签: oauth-2.0 oauth google-api google-oauth google-calendar-api


    【解决方案1】:

    与您的客户的用户一样,每个用户(客户端用户)为 50。不是client_id。对于每个验证您的应用程序的人,您最多可以让他们验证它 50 次。您收到的每个刷新令牌都将起作用。 50 岁以后,第一个将停止工作。我认为它们也可以使用长达 6 个月,如果 6 个月未使用它将失效。

    您可以让尽可能多的人使用您的客户端 (client_id),只要愿意对您进行身份验证。你不会有任何问题。

    从 Google Oauth2 文档中找到 here

    令牌到期

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

    • 用户已撤销访问权限。

    • 令牌已六个月未使用。

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

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

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

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

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

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

    注意:将刷新令牌保存在安全的长期存储中并继续 只要它们仍然有效,就可以使用它们。限制适用于数量 刷新每个 client-user 组合发出的令牌,以及 所有客户端的每个用户,并且这些限制是不同的。如果你的 应用程序请求足够的刷新令牌来遍历其中一个 限制,旧的刷新令牌停止工作。

    【讨论】:

    • 是的。你是在哪里找到那个东西的。我想向谷歌报告它令人困惑。我刚刚使用来自更好文档源的链接对其进行了更新。
    • 对不起,我删除了我之前的评论。无论如何,这就是我读到它的地方developers.google.com/accounts/docs/OAuth2
    • 哇。我终于可以继续这个了。感谢@DalmTo 澄清一切。 :)
    • 很抱歉挖掘了这个旧线程,但我仍然不能 100% 理解。我有 80 多个网站,每个网站都使用需要授权的“Google Analytics Widget for Wordpress Dashboard”插件,但最近注意到我已经超过了这个限制,因为一些旧网站没有链接,因为我已经授权了新网站。我的限制是 25 还是 50,解决方法是什么?谢谢
    • 拥有 50 多个刷新令牌的用户。它与网站无关。如果用户登录,您将获得一个刷新令牌,如果他们再次登录,他们将获得另一个刷新令牌。他们最多可以有 50 个刷新令牌。保存最新的刷新令牌而不使用旧的刷新令牌很重要。如果您有 80 多个网站,那么您应该有 80 多个项目,您不应该在不同的应用程序之间共享客户端。
    猜你喜欢
    • 1970-01-01
    • 2014-08-12
    • 2021-06-13
    • 2016-01-26
    • 2016-08-03
    • 2020-02-06
    • 2021-05-15
    • 2012-02-15
    • 2016-12-13
    相关资源
    最近更新 更多