Что означает API? Примеры использования API
API означает «интерфейс прикладного программирования». И хотя это может показаться странным, если вы новичок в программировании, их легко понять, если разобраться. Вы даже используете их ежедневно, управляя своим мобильным телефоном, ПК или просматривая страницы в Интернете.
Программное обеспечение, включая веб-приложения, мобильные приложения и многие другие программы, объединяет мир через Интернет. Но чтобы сделать это более эффективным, между этим программным обеспечением должен быть канал связи – вот где пригодится API.
Здесь мы объясним значение API и способы их использования.
Что такое API?
Вы знаете, как можно смотреть видео на потоковых платформах, таких как Netflix и YouTube, среди прочих? Это возможно, потому что вы отправляете запрос через API.
Или вы представляли, как вы можете оплачивать товары, приобретенные в интернет-магазинах, таких как Amazon и eBay? Это также связано с тем, что между вашим банком и приложениями для покупок существует канал связи, известный как API.
Тем не менее, API – это интерфейс с набором правил, которые позволяют серверу вашего приложения взаимодействовать с сервером поставщика решения, чтобы вы могли использовать их ресурсы. По сути, он определяет, как приложения или программное обеспечение взаимодействуют друг с другом.
Однако в некоторых случаях API позволяет мутуалистический обмен данными. Примером может служить соединение между вашими банковскими приложениями и приложениями интернет-магазина.
API похож на мессенджер. Он подключается к серверу провайдера на одном конце, а также привязывает сервер клиента на другом конце. Затем он передает запрос клиента источнику данных (серверу провайдера) и возвращает ответ клиенту. Клиент здесь – это браузер или ваше приложение.
Однако ловушка прикрепляет ваше приложение к API. Это конечная точка API. Однако многое происходит за кадром. Мы объясним это дальше.
Как API помогают быстрее разрабатывать приложения
API-интерфейсы – это более умный инструмент для создания бесшовных и надежных приложений. Без них создание сложных приложений заняло бы много времени.
Представьте, что вам нужно приложение для выполнения сложных операций, создание которых требует уймы времени и усилий. А потом появляется кто-то с готовой программой, которая делает именно то, что вы хотите, а может быть, и лучше.
Но как вы можете подключить это к своему приложению? Провайдер, понимая, что это может доставить вам некоторое время, сказал вам, что они создали интерфейс подключения (API), который позволяет легко интегрировать их и ваш код.
Этот интерфейс (API) подключается к серверу, содержащему их код. Затем он возвращает вам соответствующие данные из действия своего скрипта.
Конечно, вы не хотите утомлять себя их исходным сценарием. Кроме того, большинство современных API теперь полагаются на стандартизированную технологию REST (передача репрезентативного состояния). Это делает их хорошо масштабируемыми и легко интегрируемыми, без необходимости беспокоиться о том, что разворачивается внутри, или о состоянии вашего ответа или запроса, когда они предварительно отформатированы.
В этой статье мы не будем подробно рассказывать о REST API. Сосредоточьтесь на основах.
Лучше вставить свой код в их собственный, чем писать с нуля. Однако для этого вам необходимо связать свой код с API, который они предоставили. Как ты делаешь это? Вот где на сцену выходит конечная точка API.
Что такое конечная точка API?
Чтобы упростить задачу, поставщики затем разместили URL-адрес, чтобы обеспечить беспрепятственное подключение к своему API. Такой URL-адрес является конечной точкой API . С его помощью ваше приложение может получить доступ к своему серверу через API и напрямую взаимодействовать со своим скриптом.
Итак, все, что вам нужно сделать, это захватить конечную точку, вставить ее в свой код, делать запросы с ее помощью, настраивать ответы, а затем она работает, и она ваша! Таким образом, конечная точка API связывает ваше приложение через API с решением или источником данных.
В конечном счете, многие программы, предлагающие API, доступны на различных языках программирования, так что никто не исключен из их использования.
Таким образом вы сможете кодировать быстрее и эффективнее, зная, что ответственность за поддержку API лежит не на вас, а на поставщиках данных или решений.
Следовательно, конечная точка API – это перехватчик связи, который связывает API с сервером ресурсов на одном конце и соединяет его с сервером получателя на другом конце.
Это означает, что вам не нужен весь сценарий решения, которое вы хотите использовать. Но ваш код не может установить с ним связь, если он не подключается к своей конечной точке API.
Правила интеграции API
Нет жесткого правила для интеграции API. Их очень много, и у каждого из них есть свои правила интеграции. Но имейте в виду, что вы ожидаете ответа всякий раз, когда устанавливаете соединение с API.
Как вы делаете запросы через конечную точку API, обычно основывается на правилах, определенных поставщиком, но то, что вы делаете с полученным ответом, зависит от ваших предпочтений. По сути, вы можете изменить его как хотите, чтобы он соответствовал пользовательскому опыту и интерфейсу вашего приложения.
Иногда вам также понадобится аутентификатор, прежде чем вы сможете получить доступ к API. Такие аутентификаторы обычно представляют собой токены доступа или ключи API. После того, как этот токен проходит тест аутентификации, API затем сигнализирует своей конечной точке, чтобы установить соединение между вашим приложением и сервером поставщика.
Как потребитель API, вам не нужно беспокоиться об этих параметрах, потому что поставщик API делает их доступными. Хороший API также должен указывать, как вы можете получить доступ к его ресурсам и использовать их в своей документации. Поэтому всегда обращайте на это внимание, пытаясь интегрировать один.
Чтобы округлить это, вызов API касается заголовков , конечной точки , запроса и ответа или тела .
Пока мы объяснили, что такое конечная точка, давайте разберем эти другие термины дальше:
Заголовки
Обычно при подключении к API необходимо описать две формы заголовков: заголовки запроса и ответа .
Заголовок запроса – это шлюз для вызова API. Он описывает подход клиента к доступу к ресурсу. В нем могут быть подробно описаны такие вещи, как допустимый тип подключения, информация о прокси и тип данных (JSON, XML или HTML), которые вы хотите получить от API.
Как мы описали ранее, в зависимости от типа API, к которому вы подключаетесь, вам может потребоваться также предоставить уникальный токен аутентификации в заголовке запроса. Обычно это дает провайдер.
Заголовок ответа , с другой стороны, является подтверждением данных, поступающих с сервера провайдера. Он дает вашему приложению информацию о характеристиках провайдера. По сути, это гарантирует, что ваше приложение предоставляет доступ к ответу, поступающему от API.
Запрос API
Запрос API обычно содержит конечную точку в URL-адресе (уникальный указатель ресурса). Он использует протокол передачи гипертекста (HTTP) для определения адреса ресурса, к которому вы пытаетесь получить доступ с помощью API. В конечном итоге запрос API не будет завершен, если вы не включите конечную точку в URL-адрес.
Ответ API
Ответ – это то, что API отправляет обратно каждый раз, когда получает запрос от вашего приложения. Это может быть JSON, XML или HTML, в зависимости от данных или типа контента, которые он получает из заголовка запроса.
Получив ответ от API, вы можете считать вызов API успешным.
Как использовать API: практические примеры
Теперь, когда вы знаете основы API и что вам нужно для его интеграции. Посмотрите, как подключить и интегрировать API прогнозирования футбола из RapidAPI с помощью Python ниже.
Это простой вызов API, который возвращает ответ JSON. Вы также можете написать свой код в любом текстовом редакторе и запустить его через командную строку.
Однако обратите особое внимание на конечную точку, содержимое заголовков запросов и ответов:
import requests
endpoint = "https://football-prediction-api.p.rapidapi.com/api/v2/predictions"
queryparams = {"market":"classic","iso_date":"2021-01-01","federation":"UEFA"}
#Define the request header:
headers = {
'x-rapidapi-key': "Paste your access key here",
'x-rapidapi-host': "football-prediction-api.p.rapidapi.com"
}
#Define the response header:
response = requests.request("GET", endpoint, headers=headers, params=queryparams)
#Get the response:
print(response.text)
Как насчет того, чтобы узнать текущую температуру и влажность места с помощью Weatherstack API с Python? Вот пример ниже:
import requests
endpoint = 'http://api.weatherstack.com/current'
headers = {
"access_key": "Paste your access key here",
"query": "California"
}
req = requests.get(endpoint, headers)
res = req.json()
print(u"Current temperature in %s is %d℃" %
(res["location"]["name"], res["current"]["temperature"]))
print(u"Current humidity in %s is %d℃" %
(res["location"]["name"], res["current"]["humidity"]))
Типы API, которые можно интегрировать
API с открытым исходным кодом бесплатны, и любой может их использовать. Внутренние API-интерфейсы находятся внутри организации, и только приложения, принадлежащие этой организации, могут использовать ее ресурсы.
Однако вы также можете выбрать специальный API, заключив партнерское соглашение с поставщиком. Или вы можете объединить несколько API для решения различных задач.
Кроме того, эти API-интерфейсы, за исключением API-интерфейсов с открытым исходным кодом и внутренних API-интерфейсов, могут иметь цену, иногда варьирующуюся от сотен до тысяч долларов.
Упростите разработку приложений с помощью API
Как видите, вам больше не нужно писать трудоемкий код. Если вам нужно, чтобы ваше приложение выполняло сложные операции, вы всегда можете найти там и получить соответствующий API. К счастью, теперь их даже проще интегрировать, чем старые традиционные. А если вам интересно и вы хотите узнать больше, существует множество бесплатных API, которые могут помочь вам запачкать руки.