Открытый API
( Открытый API часто называемый общедоступным API) — это общедоступный интерфейс прикладного программирования , который предоставляет разработчикам программный доступ к (возможно, проприетарному) программному приложению или веб-сервису . [1] Открытые API — это API, которые публикуются в Интернете и к которым потребители могут получить бесплатный доступ. [2]
определения Альтернативные
Не существует общепринятого определения термина «Открытый API», и он может использоваться для обозначения множества вещей в разных контекстах, в том числе: [3]
- API для использования разработчиками и другими пользователями с относительно небольшими ограничениями. Может потребоваться регистрация или соблюдение квот и ограничений ставок , но регистрация бесплатна и открыта для всех; или
- API, поддерживаемый открытыми данными . Открытые данные свободно доступны каждому для использования и переиздания по своему усмотрению, без ограничений авторского права, патентов или других механизмов контроля; или
- API, основанный на открытом стандарте , который определяет механизм, с помощью которого потребитель запрашивает API и интерпретирует его ответы.
Открытый API и частный API [ править ]
Частный API [ править ]
Частный API — это интерфейс, который открывает части серверных данных организации и функциональные возможности приложений для использования разработчиками, работающими в этой организации (или подрядчиками, работающими на нее). [4] Частные API доступны только внутренним разработчикам, поэтому издатели API имеют полный контроль над тем, какие и как разрабатываются приложения. Частные API предлагают существенные преимущества в отношении внутреннего сотрудничества. Использование частного API в организации позволяет повысить осведомленность о внутренних моделях данных. Поскольку разработчики работают на одну организацию (или нанимают ее по контракту), общение будет более прямым, и, следовательно, они смогут работать более сплоченно в группе. Частные API могут значительно сократить время разработки, необходимое для управления и создания внутренних систем, которые максимизируют производительность и создают ориентированные на клиента приложения, которые расширяют охват рынка и повышают ценность существующих предложений.
Частные API можно сделать «частными» несколькими способами. Чаще всего организация просто предпочитает не документировать такой интерфейс, как, например, в случае с недокументированными функциями Microsoft Windows, которые можно найти при просмотре таблиц символов. [5] Некоторые веб-API могут аутентифицироваться с помощью ключей, которые можно обнаружить путем анализа трафика приложений. [6] Кроме того, macOS использует «право», предоставляемое только цифровой подписью, для управления доступом к частным API в системе. [7]
Частные API по определению не имеют никаких гарантий для стороннего разработчика, решившего их обнаружить и использовать. Тем не менее, использование недокументированных функций в Microsoft Windows стало настолько распространенным, что системе необходимо сохранять старое поведение для конкретных программ, использующих базу данных «AppCompat». [8]
Открытый API [ править ]
В отличие от частного API, открытый API доступен всем разработчикам. Они позволяют разработчикам, не входящим в штат организации, получать доступ к внутренним данным, которые затем можно использовать для улучшения их собственных приложений. Открытые API могут значительно увеличить доход без необходимости вложения средств в найм новых разработчиков, что делает их очень прибыльным программным приложением. [9] Однако раскрытие внутренней информации для общественности может создать ряд проблем в области безопасности и управления. [10] Например, публикация открытых API может затруднить организациям контроль над опытом работы конечных пользователей с их информационными активами. Издатели Open API не могут рассчитывать на то, что клиентские приложения, созданные на основе их API, обеспечат хороший пользовательский опыт. Более того, они не могут полностью гарантировать, что клиентские приложения сохранят внешний вид их корпоративного бренда.
Открытые API в бизнесе [ править ]
Открытые API могут использоваться компаниями, стремящимися использовать постоянно растущее сообщество разработчиков-фрилансеров, которые имеют возможность создавать инновационные приложения, повышающие ценность их основного бизнеса. Открытые API предпочитаются в деловой сфере, поскольку они одновременно увеличивают производство новых идей без прямых инвестиций в усилия по разработке. Компании часто адаптируют свои API для целевой аудитории разработчиков, которая, по их мнению, будет наиболее эффективной при создании новых ценных приложений. Однако API может существенно снизить функциональность приложения, если оно перегружено функциями.
Например, [11] API открытого поиска Yahoo позволяет разработчикам интегрировать поиск Yahoo в свои собственные программные приложения. Добавление этого API обеспечивает функциональность поиска для приложения разработчика, а также увеличивает поисковый трафик для поисковой системы Yahoo, что приносит пользу обеим сторонам. Что касается Facebook и Twitter , мы видим, как третьи стороны обогатили эти сервисы собственным кодом. Например, возможность создать учетную запись на внешнем сайте/приложении с использованием ваших учетных данных Facebook стала возможной благодаря открытому API Facebook.
Многие крупные технологические компании, такие как Twitter, LinkedIn и Facebook, разрешают использование своих сервисов третьим лицам и конкурентам . [12] [13] [14]
Открытые API в Интернете [ править ]
С ростом популярности HTML5 и Web 2.0 современный опыт просмотра стал интерактивным и динамичным, и это частично ускорилось за счет использования открытых API. Некоторые открытые API извлекают данные из базы данных веб-сайта и называются веб-API. Например, API YouTube от Google позволяет разработчикам интегрировать YouTube в свои приложения, предоставляя возможность поиска видео, получения стандартных каналов и просмотра соответствующего контента.
Веб-API используются для обмена информацией с веб-сайтом путем получения или отправки данных. Когда веб-API извлекает данные с веб-сайта, приложение отправляет HTTP-запрос на сервер, на котором хранится сайт. Затем сервер отправляет данные обратно в формате, ожидаемом вашим приложением (если вы запросили данные), или вносит ваши изменения на веб-сайт (если вы отправили данные).
См. также [ править ]
- Спецификация OpenAPI
- Включение приложений
- Открытая система (вычисления)
- Mashup (гибрид веб-приложения)
- Вебхук
- Веб-API
Внешние ссылки [ править ]
- Веб-сайт Open API Initiative (OAI)
- Редактор и студия Eclipse OpenAPI (OAS)
- Вики-сайт редактора OpenAPI и тестовой студии
Ссылки [ править ]
- ^ Проффитт, Брайан (19 сентября 2013 г.). «Что такое API и почему они важны» . Читать, писать . Проверено 28 октября 2015 г.
- ^ «Что такое открытый API? — Определение с сайта WhatIs.com» . ПоискОблачные Приложения . Проверено 26 октября 2015 г.
- ^ Доддс, Ли (25 марта 2014 г.). «Что такое открытый API?» . Потерянный мальчик . Проверено 2 ноября 2015 г.
- ^ «6 бизнес-преимуществ частных API | Северные API |» . Скандинавские API . 13 февраля 2014 года . Проверено 4 ноября 2015 г.
- ^ «Недокументированные функции NTAPI» . undocumented.ntinternals.net .
- ^ «Учебное пособие по обратному проектированию частного API вашего программного обеспечения: взлом вашего дивана | Toptal®» . Блог Toptal Engineering .
- ^ Мо, Даррен (07 мая 2019 г.). «Вспомогательный инструмент, позволяющий Optimus Player передавать потоковое аудио с помощью AirPlay 2» . Гитхаб . Проверено 9 мая 2019 г.
- ^ Пирс, Шон. «Прокладки совместимости вредоносных приложений» (PDF) .
- ^ «Избавьтесь от рисков, связанных с управлением общедоступными и частными API» . ПоискSOA . Проверено 4 ноября 2015 г.
- ^ Дэн, Чжуй; Сальтаформаджо, Брендан; Чжан, Сянъюй; Сюй, Дунъянь (01 января 2015 г.). «ИРиС». Материалы 22-й конференции ACM SIGSAC по компьютерной и коммуникационной безопасности . ККС '15. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 44–56. дои : 10.1145/2810103.2813675 . ISBN 978-1-4503-3832-5 . S2CID 5613038 .
- ^ «Что такое API и как открытые API меняют Интернет» . СделатьUseOf . 19 февраля 2015 года . Проверено 2 ноября 2015 г.
- ^ «Документация разработчиков Facebook» . Facebook для разработчиков . Проверено 9 февраля 2021 г.
- ^ tonyxu-io. «Документация по API LinkedIn — LinkedIn» . docs.microsoft.com . Проверено 9 февраля 2021 г.
- ^ «Об API Twitter» . help.twitter.com . Проверено 9 февраля 2021 г.