InvalidApiKeyException выбрасывается при попытке обращения к API с неверным, отсутствующим или заблокированным API ключом. Соответствует HTTP статус коду 401 (Unauthorized).
try { $client = new Client('invalid-key'); $client->films->getById(301);} catch (InvalidApiKeyException $e) { echo "Проблема с API ключом: " . $e->getMessage(); // Выведет: "Проблема с API ключом: Неверный или отсутствующий API ключ"}
<?phprequire_once'vendor/autoload.php';useNotKinopoisk\Client;useNotKinopoisk\Exception\InvalidApiKeyException;useNotKinopoisk\Exception\ApiException;functioncheckApiKey(string$apiKey):bool{try{$client=newClient($apiKey);$userService=$client->users;// Попытка получить информацию об API ключе$keyInfo=$userService->getApiKeyInfo($apiKey);echo"✅ API ключ действителен\n";echo"Тип аккаунта: {$keyInfo->accountType}\n";echo"Осталось запросов: {$keyInfo->getRemainingQuota()}\n";returntrue;}catch(InvalidApiKeyException$e){echo"❌ Ошибка API ключа: {$e->getMessage()}\n";echo"Код ошибки: {$e->getCode()}\n";// Рекомендации пользователюecho"\n💡 Рекомендации:\n";echo"- Проверьте правильность API ключа\n";echo"- Убедитесь, что ключ не заблокирован\n";echo"- Получите новый ключ на https://kinopoiskapiunofficial.tech\n";returnfalse;}catch(ApiException$e){echo"❌ Другая ошибка API: {$e->getMessage()}\n";returnfalse;}}// Использование$apiKey=$_ENV['KINOPOISK_API_KEY']??'';if(empty($apiKey)){echo"❌ API ключ не указан в переменных окружения\n";exit(1);}if(!checkApiKey($apiKey)){exit(1);}