/** * refresh access token * * @param \OAuth2\Token $token * @return \OAuth2\Token new token object */ public function refreshAccessToken(Token $token) { if (!$token->getRefreshToken()) { throw new Exception('could not refresh access token, no refresh token available'); } $parameters = array('grant_type' => 'refresh_token', 'type' => 'web_server', 'client_id' => $this->_client->getClientKey(), 'client_secret' => $this->_client->getClientSecret(), 'refresh_token' => $token->getRefreshToken()); $http = new HttpClient($this->_configuration->getAccessTokenEndpoint(), 'POST', http_build_query($parameters)); $http->execute(); return $this->_parseAccessTokenResponse($http, $token->getRefreshToken()); }