fetchNewAccessToken(); }); } private function fetchNewAccessToken(): string { try { $response = Http::post('https://id.twitch.tv/oauth2/token', [ 'client_id' => config('services.igdb.client_id'), 'client_secret' => config('services.igdb.client_secret'), 'grant_type' => 'client_credentials', ]); if (!$response->successful()) { throw new \Exception("Failed to get access token: " . $response->body()); } $data = $response->json(); return $data['access_token']; } catch (\Exception $e) { Log::error('Failed to fetch IGDB access token', [ 'error' => $e->getMessage() ]); throw $e; } } }