Большинство публичных API требуют API-ключ — уникальную строку символов, которая идентифицирует тебя как пользователя сервиса.
Зачем нужен API-ключ
Без ключа любой мог бы делать неограниченное количество запросов и перегрузить сервер. Ключ позволяет сервису:
- Знать кто делает запросы
- Считать их количество и применять лимиты
- Отключить доступ при злоупотреблении
Это не защита от взлома — ключ скорее как пропуск: он говорит «я зарегистрированный пользователь».
Как выглядит API-ключ
Обычно это длинная случайная строка:
a1b2c3d4e5f6789012345678abcdef01
Разные сервисы называют его по-разному: API key, access token, app id, client secret. Принцип один.
Как передаётся ключ в запросе
Три распространённых способа:
1. Query-параметр (как в OpenWeatherMap):
https://api.openweathermap.org/data/2.5/weather?appid=ТВОЙ_КЛЮЧ
В коде через params={"appid": API_KEY}.
2. Заголовок Authorization (как в GitHub):
Authorization: Bearer ТВОЙ_ТОКЕН
В коде через headers={"Authorization": f"Bearer {TOKEN}"}.
3. Заголовок X-API-Key:
X-API-Key: ТВОЙ_КЛЮЧ
Документация каждого API говорит какой способ использовать.
Как не надо хранить ключ
Никогда не пиши ключ прямо в коде:
# НЕЛЬЗЯ — если попадёт в git, ключ станет публичным
API_KEY = "a1b2c3d4e5f6789012345678abcdef01"
Боты непрерывно сканируют GitHub в поисках ключей. После публикации ключа — меняй его немедленно.
Правильный способ: файл .env
# .env — этот файл не коммитится в git
OPENWEATHER_API_KEY=a1b2c3d4e5f6789012345678abcdef01
from dotenv import load_dotenv
import os
load_dotenv()
API_KEY = os.getenv("OPENWEATHER_API_KEY")
Файл .env хранится только у тебя локально. Добавь его в .gitignore.
Лимиты и бесплатные тарифы
Большинство API предоставляют бесплатный тариф с ограничением на количество запросов:
| Сервис | Бесплатный лимит |
|---|---|
| OpenWeatherMap | 1 000 запросов/день |
| NASA API | 1 000 запросов/час |
| GitHub API | 5 000 запросов/час |
При превышении лимита сервер возвращает статус 429 Too Many Requests.
Ключ не работает сразу после регистрации
Некоторые сервисы (например OpenWeatherMap) активируют ключ через 10–60 минут после создания. В этот период запросы возвращают ошибку 401. Это нормально — просто подожди.
Потерял или скомпрометировал ключ
Зайди в личный кабинет сервиса и создай новый ключ. Старый отзови. Большинство сервисов позволяют иметь несколько ключей.
💬 Comments (0)
No comments yet
Be the first to share your opinion about this article!