Рубрики
Без рубрики

Что такое API и как получить доступ к одному с помощью Python?

В прошлом месяце мне дали свою первую задачу на работе как новичка в науке данных: извлекать данные из … Помечено с Python, Datascience, CodeNewie, начинающими.

В прошлом месяце мне дали свою самую первую задачу на работе в качестве новичка в науке данных: извлеките данные из API, использующих протокол авторизации OAUTT2. С помощью Hindsight это похоже на очень базовую задачу, но у меня были проблемы с нахождением того, как новичок, который является новичком. Эта статья является небольшим расстройством шагов, необходимых для связи с API с помощью Python 3.

Что такое API?

Определение учебника API (или A Playing P поглощение Я Nterface) – «набор функций и процедур, позволяющий создавать приложения, которые получают доступ к функциям или данным операционной системы, приложения или другой службы».

Чтобы поставить его просто, API – Посланник между клиентом и сервером и позволяет получать данные. Это можно сравнить с официантом в ресторане, который берет наш заказ, передает его готовит на кухне, затем доставляет нашу еду обратно к нам.

Очень полезное 3-минутное объяснение

Мы могли бы использовать различные архитектурные стили для кода API, но стандартный основан на Представительский государственный перевод (отдых) , что позволяет взаимодействовать между компьютерными системами в Интернете. Действительно, API reзов API или REST, использует существующие методологии HTTP для связи:

  • Получить Чтобы получить ресурс/данные
  • Поставить Чтобы изменить состояние ресурса или обновить его
  • Пост создать ресурс
  • Удалить Удалить ресурс

Что такое OAUTH2?

Для доступа к API вам нужна авторизация. Наиболее распространенный стандарт называется ОАУТ и используется большинством крупных технических компаний. OAUTH позволяет выдавать токены доступа к сторонним клиентам авторизации сервером авторизации, с утверждением владельца ресурсов. Третья сторона затем использует токен доступа для доступа к защищенным ресурсам, размещенным сервером Resource.

Итак, как это работает ?

Рабочий процесс, который мне пришлось использовать для этой задачи, был Client_Credentials, который состоит из 2 шагов:

Шаг 1: Запросите токен доступа с информацией, заданной владельцем ресурсов

Для того, чтобы общаться с API, Python имеет очень полезную библиотеку HTTP под названием Запросы Это позволяет нам получить данные очень простым способом. Там нет необходимости вручную добавлять строки запроса к URL-адресам или для формирования-кодирования последующих данных.

Код, который я написал

import requests

values = {"grant_type":"client_credentials",
   "client_id": ' given by the resource owner',
   'client_secret' : 'given by the resource owner',
   'scope' : 'specified in the API documentation'
}
headers = {
  'Authorization': 'given by the resource owner'
}
r = requests.post('host/oauth2/token', data=values, headers=headers)

print(r.json())

Этот код возвращает токен доступа, который позволяет нам перейти к шагу 2.

Шаг 2: Получите данные, используя токен доступа Это было выдано

Для этого я использовал Почтальон , совместная платформа для разработок API, которая также позволяет нам отправлять запросы. Этот инструмент полезен для начинающих, так как он автоматически генерирует заголовки. Единственный, который мне пришлось добавить, был заголовок диапазона, потому что результаты API были страганы.

страницированный?

Да, как книги, API можно странить. Поскольку базы данных могут содержать миллионы или миллиарды данных, запрашивая все его сразу, может привести к сбою сервера. Пагинация была изобретена для того, чтобы предотвратить возникновение такой проблемы, ограничивая количество страниц данных, которые вы получаете по каждому запросу. Есть 3 основных типа пагинации:

  • Пагинация на основе компенсации
  • Кейюс пагинация
  • Ищите пегирование

Эта статья входит в более подробную информацию о каждом из этих методов!

Оригинал: “https://dev.to/ernestinem/what-s-an-api-and-how-to-access-it-using-python-2158”