Google Analytics OAuth2刷新令牌限制

时间:2014-06-22 15:35:58

标签: php google-analytics oauth-2.0 google-analytics-api

我在PHP中构建了一个平台,使用户可以创建自己的网站。为了将网站所有者与Google服务(特别是Google Analytics)相关联,我为网站用户创建了一个Google应用程序,以便连接到他们的帐户。这是通过Google的API V3 / OAuth2完成的。

流程是:

  1. 用户使用自己的Google帐户登录Google Analytics。
  2. 该平台会自动将Google Analytics代码段添加到网站
  3. 该平台允许离线访问Google Analytics,以查看网站统计信息并将其显示在统计信息屏幕中。
  4. 问题:

    每个应用程序可以拥有的刷新令牌数量限制为25。 当第26个用户登录(并接收新的刷新令牌)时,第一个刷新令牌变为非活动状态。

    错误讯息:

    error: 1401351409|4794 [Error refreshing the OAuth2 token, message: '{ "error" : "invalid_grant" }']

    我在向API发出刷新令牌请求后得到了这个。

    有没有办法克服这个限制? 有没有其他方法可以得到预期的结果?

1 个答案:

答案 0 :(得分:1)

根据我对Google的OAuth2文档的理解,这是您遇到的问题:

<强> Google OAuth2

  

每个Google用户帐户目前有25个令牌限制。如果是用户   帐户有25个有效令牌,下一个身份验证请求成功,   但是在没有任何东西的情   用户可见的警告。

我非常确定刷新令牌对于客户端ID /用户ID /应用程序范围组合是唯一的。当您获得刷新令牌时,您应该将该特定用户的刷新令牌存储在数据库中,而不是生成新的令牌。当用户的原始访问令牌到期时,您的应用程序应该从数据库中提取用户的相应刷新令牌,并为下次使用生成新的访问令牌/刷新令牌。

如果流量正确,则不应接近达到刷新令牌限制。

希望这有帮助!