Глава 8: Реализация
Брайан Кукси - опубликовано 22 апреля 2014
Мы сделали это! Теперь мы знаем все, что нужно знать об API... по крайней мере, на начальном уровне. Итак, со всеми этими приобретенными знаниями, как мы можем найти им хорошее применение? В этой главе мы исследуем, как превратить знания в работающее программное обеспечение.
От плана к продукту
Как мы видели в этом курсе, взаимодействие через API включает две стороны. Однако, когда мы говорим на уровне кода, на самом деле мы говорим о том, что нам нужны две программы, реализующие API. Программа реализует API, если следует правилам конкретного API. В нашем примере с пиццерией клиент, который может делать запросы к конечной точке /orders, используя правильные заголовки и формат данных, будет клиентом, который реализует API пиццерии.

За серверную программу отвечает компания, публикующая API. Еще в главе 6 мы рассмотрели процесс проектирования API. После планирования следующий шаг для компании — реализовать свою сторону, написав программное обеспечение, соответствующее задуманному проекту. Последний шаг — разместить получившуюся программу на сервере.

Наряду с серверным программным обеспечением компания издает документацию для API. Документация — это один или несколько документов — обычно веб-страницы или PDF-файлы, объясняющие, как использовать API. Она включает в себя информацию, например, о том, какую схему аутентификации использовать, какие конечные точки доступны и как форматируются данные. Она также может включать примеры ответов, фрагменты кода и интерактивную консоль для игры с доступными конечными точками. Документация важна, потому что она действует как руководство для создания клиентов. Тот, кто заинтересован в использовании API, идёт в документацию, чтобы узнать, как API работает.

Имея под рукой документацию, вы можете начать использовать API в качестве клиента несколькими способами. Давайте теперь рассмотрим три из них.
HTTP-клиенты
Легкий способ начать использовать API — это использовать HTTP-клиент, общую программу, которая позволяет быстро создавать HTTP-запросы для тестирования. Вы указываете URL-адрес, заголовки и тело, и программа отправляет его на сервер в правильном формате. Эти типы программ бывают самых разных вкусов, включая веб-приложения, настольные приложения, расширения веб-браузера и многое другое.

Рисунок 1. Снимок экрана Dev HTTP Client, расширения для Google Chrome

Обобщённые (generic) HTTP-клиенты хороши тем, что вам не нужно знать, как их программировать. Благодаря навыкам, которые вы приобрели в ходе этого курса, теперь у вас есть возможность читать документацию по API, изданную конкретной компанией и придумывать запрос, который вам нужно сделать, чтобы получить нужные данные. Обобщённые клиенты хороши как инструмент исследования API и методов взаимодействия, учитывая, что на их освоение уходит достаточно немного времени.

Однако у этого подхода есть несколько недостатков. Во-первых, обычно вы не можете сохранить свою работу. После того, как вы закроете программу, сделанные вами запросы будут забыты, и вам придется перестроить их в следующий раз, когда они вам понадобятся. Еще один недостаток заключается в том, что с возвращаемыми данными обычно мало что можно сделать, кроме как посмотреть на них. В лучшем случае у вас есть возможность сохранить данные в файл, и после этого уже вы можете сделать с ними что-нибудь интересное.
Написание кода
Чтобы по-настоящему использовать возможности API, вам в конечном итоге понадобится специальное программное обеспечение. Вот тут-то и приходит на помощь программирование. Поскольку программирование — это самостоятельная (отдельная от интеграций как таковых) дисциплина, мы не будем пытаться охватить все, что связано с разработкой программного обеспечения, но мы можем дать вам некоторые рекомендации относительно того, что включает в себя написание клиента API.

Первое требование — немного познакомиться с языком программирования. Их много, и у каждого есть свои сильные и слабые стороны. Для простоты, вероятно, вам для начала лучше придерживаться интерпретируемого языка (JavaScript, Python, PHP, Ruby или аналогичный) вместо компилируемого языка (C или C ++).

Если вы не уверены, какой язык выбрать, отличный способ сузить выбор — найти API, который вы хотите реализовать, и посмотреть, предоставляет ли компания клиентскую библиотеку. Библиотека — это код, который публикует владелец API, который уже реализует клиентскую сторону их API. Иногда библиотека бывает доступна для загрузки по отдельности или будет включена в SDK (Software Development Kit). Применение библиотеки экономит ваше время, потому что вместо чтения документации API и формирования сырых HTTP-запросов вы можете просто скопировать и вставить несколько строк кода и сразу получить рабочий клиент.

После того, как вы выберете язык, вам нужно решить, где будет запускаться код. Если вы автоматизируете свои собственные задачи, запуск программного обеспечения с рабочего компьютера может быть вполне подойдет. Однако чаще всего вы захотите запустить код на компьютере, который лучше подходит для работы в качестве веб-сервера. Доступно довольно много решений, в том числе запуск вашего кода в средах общего хостинга, облачных сервисах (например, Amazon Web Services) или даже на ваших собственных физических серверах в центре обработки данных.

Третье важное решение — выяснить, что вы будете делать с данными. Сохранить результаты в файл достаточно просто, но если вы хотите сохранить данные в базе данных или отправить их в другое приложение, все усложняется. Извлечение данных из базы данных для отправки в API также может быть сложной задачей.

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

После того, как вы овладеете основами, у вас появится множество других тем, которые нужно изучить в богатой сфере разработки программного обеспечения. На данный момент, если вам удалось выучить язык программирования и запустить библиотеку, вы должны праздновать. Вы уже порядком продвинулись к тому, чтобы максимально использовать API!
Попробуйте Zapier
Если кодирование выходит за рамки вашего текущего набора навыков или ограничений по времени, есть отличный инструмент, который, как мы знаем, позволяет вам легко взаимодействовать с API. Хорошо, вы, наверное, предвидели это: это Zapier! Наша платформа для разработчиков предлагает вам способ реализовать API, с которым вы затем можете взаимодействовать через приложение на Zapier. Нажимая кнопки и заполняя формы, вы можете реализовать практически любой API, какой захотите.
Наша платформа для разработчиков проста в использовании потому, что мы сделали большую часть программирования за вас. У Zapier есть код для выполнения запросов, и все, что вам нужно сделать, это указать детали. Думайте об использовании платформы как об использовании обычного HTTP-клиента; расскажите нам о конечных точках, а мы сделаем все остальное. Дополнительным преимуществом является то, что после того, как вы настроили Zapier для общения с API, у вас появляется множество вариантов того, что делать с возвращаемыми данными. Кроме того, если вы застряли, вы можете обратиться в дружелюбную службу поддержки, где у вас есть специалисты по API, готовые помочь вам.
Заключение
Мы прошли долгий путь в этом курсе. Мы начали с вопросов типа «Что такое клиент?» и закончили идеями, как их построить. Даже если вы решите не пробовать свои силы в реализации API, мы надеемся, что вы будете чувствовать себя комфортно, когда они будут упомянуты в ходе разговора. Теперь у вас есть представление о том, что такое API, для чего он нужен и как вы можете использовать его, чтобы принести пользу своему бизнесу.

Возможно, вы управляете компанией и видите ценность предоставления API своим клиентам. Или, возможно, вы регулярно выполняете надоедливые, отнимающие много времени задачи, которые вам не терпится автоматизировать. В любом случае, мы надеемся, что вы найдете ценные знания. Пожалуйста, поделитесь этим курсом со всеми, кто, по вашему мнению, может извлечь из него пользу, и расскажите, что API-интерфейсы прекрасны!
Краткое содержание главы 8
В этой главе мы обсудили, как проект API становится рабочим программным обеспечением. Мы говорили о том, как вы можете начать использовать API.

Ключевые термины, которые мы узнали, были:

  • Реализация: написание программного обеспечения, подчиняющегося правилам API.
  • Документация: веб-страницы, PDF-файлы и т.д., объясняющие правила API.
  • Библиотека: код, выпущенный издателем API, который реализует клиентскую часть их API.
Конец
На этом завершается «Введение в API», бесплатный образовательный курс, предложенный Zapier. Надеемся, вам понравилось его читать. Если вы думаете, что этот материал может быть полезен кому-то другому, поделитесь, пожалуйста.

Вы можете бесплатно найти «Введение в API» в Интернете и поделиться им по адресу: