Так что, черт возьми, такое API?

Приложение П программирование I интерфейсов (API) в целом обозначает любой вычислительный интерфейс, который определяет взаимодействие между несколькими (часто несопоставимыми) фрагментами. программного обеспечения.

Эти фрагменты программного обеспечения могут быть библиотекой, такой как Pandas в Python, и вашим скриптом Python. Или ваш интерфейсный веб-сайт на Javascript взаимодействует с вашим PHP-сервером.

Хорошо, но… как, черт возьми, это мне помогает?

API - отличный способ сэкономить ваше время! Вместо того, чтобы часами писать код, чтобы сделать что-то, что уже было сделано, вы можете использовать API, который соединяется с нужным вам кодом.

Чтобы лучше понять это, давайте представим переводчика: вместо того, чтобы изучать новый язык, вы можете использовать переводчика, чтобы поговорить с человеком, говорящим на этом языке.

API-интерфейсы позволяют нам общаться между различными приложениями, не теряя драгоценного времени!

Хорошо, звучит интересно, так что же, черт возьми, за API REST, о которых я постоянно слышу?

RE презентационные S tate T ransfer (REST) ​​API-интерфейсы являются наиболее популярным типом API-интерфейсов. REST API позволяют нам объединить наш код, используя определенное соглашение, которое легко использовать через Интернет, также известное как HTTP (s).

В наши дни REST API чрезвычайно популярны. Если вы когда-нибудь слышали термин «API», то можете с уверенностью предположить, что это REST API.

Благодаря этому соглашению мы можем легко обмениваться данными между двумя разными приложениями с помощью HTTP (ов), таких как электронная таблица Excel в облаке и ваш код Python.

Хорошо, но как я могу использовать эти REST API?

API REST можно использовать, отправив запрос на URL и получив ответ.

Доступ к URL-адресу осуществляется таким же образом, как если бы вы зашли в браузер и набрали www.apispreadsheets.com или www.medium.com, за исключением того, что он вызывается через ваш код.

Давайте подробнее рассмотрим URL-адреса, запросы и ответы, используя API нашего продукта APISpreadsheets и Python в качестве примеров.

Несколько быстрых заявлений об отказе от ответственности:

API Spreadsheets - это наш продукт, который позволяет мгновенно использовать электронные таблицы в качестве базы данных с API.

Если вы кодируете на другом языке, вам следует просмотреть принципы и посетить Таблицы API, чтобы скопировать код для вашего языка, чтобы начать работу.

Начнем с запросов?

Ага! Потому что, чтобы использовать API, вам нужно сделать запрос. запрос выполняется от клиента, которым может быть ваш код Python, ваш браузер или другое приложение, запущенное на вашем компьютере, например Почтальон.

Существует множество типов запросов, но есть только два наиболее распространенных, о которых вам нужно знать:

  1. GET используется для запроса данных из указанного ресурса с помощью URL.
  2. POST используется для отправки данных на сервер для создания / обновления ресурса с использованием URL.

Хорошо, а как мне тогда делать эти запросы?

Мы рассмотрим все шаги кода для Python, но для справки вот как будет выглядеть окончательный код:

import requests
r = requests.get("https://api.apispreadsheets.com/data/581/")
print(r)
data = r.json()

Шаг 1. Запросите библиотеку

В Python вы можете делать запросы, сначала импортировав библиотеку запросов в начале вашего кода.

import requests

Убедитесь, что библиотека запросов уже установлена. Если нет, вы можете запросить установку $ pip.

Шаг 2. Создайте URL-адрес API

Вам понадобится URL, по которому вы будете отправлять запросы. Чтобы сделать запросы к вашей собственной таблице с помощью таблиц API, следуйте нашему руководству, чтобы получить свой URL.

На данный момент вы можете использовать этот URL. Он получает доступ к электронной таблице данных о случаях COVID-19 из Нью-Джерси до 3 июня 2020 года.

https://api.apispreadsheets.com/data/581/

Шаг 3. Выполните ваш запрос

Используя только что созданный URL, теперь вы можете выполнить запрос GET в своей электронной таблице и сохранить его ответ в переменной r.

Помните, что запрос GET используется для получения данных из указанного ресурса.

import requests
r = requests.get("https://api.apispreadsheets.com/data/581/")

Шаг 4. Убедитесь, что все прошло гладко

Что бы ни случилось, вы всегда получаете ответ на запрос.

Прежде чем мы фактически получим данные из ответа, давайте сначала проверим, правильно ли прошел запрос. Добавьте строку для печати в свой код:

print(r)

На этом этапе вы хотите запустить программу и получить вывод «Response [200]». 200 - это код ответа, указывающий, что ваш запрос API сработал.

Ооо круто! Что будет, если запрос не сработал?

Что ж, я рад, что вы спросили. Если запрос не сработал, вы получите другой код ответа, кроме 200.

Фактически, стандартизация этих кодов ответов упрощает использование REST API.

Существует куча кодов ответов, но возвращение подходящих кодов зависит от дизайнеров и разработчиков конкретного API.

В таблицах API для запроса GET мы возвращаем любой из следующих кодов

  1. 200 - ОК, все прошло гладко
  2. 401 - Несанкционированный, нет разрешения на доступ к файлу
  3. 404 - не найдено
  4. 500 - Ошибка сервера, что-то не так на сервере

Это кажется полезным. Что случилось с данными в ответе?

Не волнуйся. Эти данные также находятся в ответе, и к ним можно получить доступ с помощью параметра / метода ответа JSON.

data = r.json()

Подождите, а что такое JSON?

J ava s cript O bject N otation (JSON) - это формат данных, который широко используется для обмениваться данными между приложениями благодаря довольно простому формату.

Вы можете увидеть, как выглядят данные JSON, открыв URL-адрес https://api.apispreadsheets.com/data/581/ в своем браузере 😀

Помните, что ответ не обязательно должен содержать данные JSON. Это снова дело дизайнеров и разработчиков API. Как и формат самого JSON.

Мы в API Spreadsheets возвращаем данные JSON только с запросом GET, но запрос POST не возвращает данные JSON.

А формат данных JSON вы можете увидеть в нашей документации. У большинства API есть хорошая документация с подробным описанием формата их JSON и их кодов ответа.

О, черт, это означает, что выполнение запроса POST тоже отличается?

Да, но не слишком много. Вы все еще делаете запрос, но теперь вам также нужно будет включить объект JSON, содержащий ваши данные .

Помните, что запрос POST используется для отправки данных на сервер для создания / обновления ресурса.

Шаг 1. Запросите библиотеку

В Python вы можете делать запросы, сначала импортировав библиотеку запросов в начале вашего кода.

import requests

Шаг 2. Создайте URL-адрес API

Чтобы сделать запросы к вашей собственной таблице с помощью таблиц API, следуйте нашему руководству, чтобы получить свой URL.

На данный момент вы можете использовать этот URL. Он получает доступ к электронной таблице данных о случаях COVID-19 из Нью-Джерси до 3 июня 2020 года.

https://api.apispreadsheets.com/data/581/

Шаг 3. Выполните запрос POST с данными JSON

Во-первых, нам нужно подготовить данные, которые мы хотим добавить.

Я знаю, что вы, вероятно, устали это слышать, но формат этих данных определяется разработчиком и дизайнером API.

Для таблиц API мы можем добавлять данные в таблицу в этом формате.

data = {"data": {"county_name": "New County", "cases": "2251", "deaths": "162"}}

Мы можем выполнить запрос POST следующим образом

r = requests.post("https://api.apispreadsheets.com/data/581/", json={"data": data})

К вашему сведению - вы могли слышать, что эти данные JSON называются телом

Шаг 4. Убедитесь, что все прошло гладко

Вы можете распечатать ответ или проверить, все ли прошло хорошо. Вы должны получить код 201, отличный от кода 200 из GET. 201 означает созданный, тогда как 200 - в порядке.

Подведение итогов

Поздравляю! Вы добрались до конца. Теперь вы должны знать, что такое API, как он может вам помочь и как делать простые запросы на Python!

Если у вас есть дополнительные вопросы, не стесняйтесь обращаться по адресу [email protected]!