首页 > 解决方案 > Google Analytics API 刷新令牌 API 致命错误

问题描述

我正在使用 Google Analytics API 并按照文档中的说明获取刷新令牌。但是,如果用户已从其 Google 帐户撤消访问权限但仍尝试使用我的集成(这实际上是一种可能性),我将面临错误。当我打电话时:

$client->setAccessToken($newtoken);

要使用刷新令牌获取新令牌,会引发致命错误,我无法捕获此错误。

理想情况下,我想检查用户的刷新令牌访问权限,但是我不知道如何做到这一点,这可以通过 php 库实现吗?

标签: phpgoogle-analytics-api

解决方案


正如我从库的代码中看到的那样,您必须捕获 InvalidArgumentException

  public function setAccessToken($token)
  {
    if (is_string($token)) {
      if ($json = json_decode($token, true)) {
        $token = $json;
      } else {
        // assume $token is just the token string
        $token = array(
          'access_token' => $token,
        );
      }
    }
    if ($token == null) {
      throw new InvalidArgumentException('invalid json token');
    }
    if (!isset($token['access_token'])) {
      throw new InvalidArgumentException("Invalid token format");
    }
    $this->token = $token;
  }

推荐阅读