http->post('oauth2/RefreshToken', [ 'refresh_token' => $refreshToken, 'client_id' => $this->clientId, 'client_secret' => $this->clientSecret, 'grant_type' => 'refresh_token', ]); $body = $response->json(); if (!isset($body['access_token'], $body['refresh_token'])) { throw new \RuntimeException('Token refresh failed: ' . ($body['message'] ?? 'Unknown')); } return [ 'access_token' => $body['access_token'], 'refresh_token' => $body['refresh_token'], ]; } }