public static function verifyAccessToken($accessToken=null)
    {
        // Check access_token
        if (null === $accessToken) {
            $token = self::getClient()->getAccessToken();
            if (!isset($token['access_token'])) {
                throw new Exception(
                    'access_token must be passed in or set as part of setAccessToken'
                );
            }
            $accessToken = $token['access_token'];
        }

        // Google API request
        $response = (new \GuzzleHttp\Client())
            ->request('GET', self::TOKENINFO_URI, [
                'query' => [
                    'access_token' => $accessToken,
                ],
                'http_errors' => false,
            ]);
        // var_dump($response);exit;

        // Result check
        if (200 != $response->getStatusCode()) {
            return false;
        }
        
        return json_decode($response->getBody(), true);
    }