В этой статье подробно расскажем как при помощи Python подключиться к API, который документирован при помощи схемы OpenAPI. OpenAPI совместима с различными языками программирования и фреймворками, что делает её универсальной и гибкой для использования в различных проектах.
Использование Python при подключении к API обладает рядом преимуществ:
- Простота и удобочитаемость: Python известен своей чистой и читаемой синтаксической структурой, что упрощает разработку и поддержку кода.
- Богатая экосистема библиотек: В Python существует множество библиотек, облегчающих работу с API, таких как requests для HTTP-запросов, json для обработки JSON-данных, BeautifulSoup для веб-скрейпинга и многие другие.
- Высокий уровень абстракции: Библиотеки Python предоставляют высокоуровневые функции для работы с API, что позволяет разработчикам сосредоточиться на логике приложения, а не на деталях реализации HTTP-запросов.
- Прототипирование и быстрая разработка: Python позволяет быстро прототипировать и разрабатывать решения благодаря своему динамическому типизированному характеру и богатому набору встроенных функций.
- Кросс-платформенность: Python работает на различных операционных системах, что делает его универсальным инструментом для разработки приложений на любой платформе.
Генерация Python API клиента из схемы OpenAPI
Установка необходимых библиотек под Windows подробно рассмотрена в статье OpenAPI Generator: как установить и настроить.
После установки OpeanAPI Generators сгенерируем Python API схему для RUVDS:
- На странице https://ruvds.com/api-docs/ скачиваем OpenAPI спецификацию.
- Сгенерируем схему на Python:
npx @openapitools/openapi-generator-cli generate -i ruvds-api-v2.yaml -g python -o pyruvds --additional-properties=packageName=pyruvds
Мы сразу передали в –additional-properties значение для параметра packageName=pyruvds. Мы сделали это для удобства, чтобы было ясно к API какого сервиса мы подключаемся. Документация по параметрам генератора клиента python расположена по адресу https://openapi-generator.tech/docs/generators/python.
В результате должны сгенерироваться файлы python клиента:
- Убедимся, что у нас установлен Python. Если нет, то его необходимо скачать и установить с сайта https://www.python.org/.
python --version
pip --version
- Устанавливаем setuptools.
pip install setuptools
- Переходим в директорию pyruvds и устанавливаем пакет в python.
pip install -r requirements.txt
./setup.py install
Использование python клиента pyruvds
- Получим API токен на странице https://ruvds.com/my/settings/api.
- Открываем консоль powershell и создадим переменную окружения RUVDS_TOKEN.
$Env:RUVDS_TOKEN='Token from https://ruvds.com/my/settings/api'
- Создадим python скрипт balance.py
import os
import pyruvds
configuration = pyruvds.Configuration(
host='https://api.ruvds.com',
access_token=os.environ.get("RUVDS_TOKEN"),
)
with pyruvds.ApiClient(configuration) as api_client:
balance_api = pyruvds.BalanceApi(api_client)
api_response = balance_api.balance_get()
print(api_response.amount)
- Запустим скрипт из powershell консоли, в которой мы определили RUVDS_TOKEN.
Python в сочетании с OpenAPI обеспечивает лёгкость подключения и мощные возможности для обработки данных.