Що таке API?
Якщо ви проводите час за програмним забезпеченням або інтернет-інструментами, ви напевно чули термін «API». API означає «інтерфейс прикладного програмування». Для розробників програмного забезпечення є безліч API-інтерфейсів, що дозволяють інтегрувати інформацію з інших додатків в власне.
API – це система інструментів і ресурсів в додатку, яка дозволяє розробникам створювати програмні продукти, які взаємодіють з іншими службами. API – це те, що дозволяє двом окремим додаткам взаємодіяти один з одним. API дозволяють користувачам взаємодіяти з іншими службами або сайтами, не залишаючи ваш сайт. API важливі, тому що без них було б дуже складно зрозуміти синтаксис всіх додатків і сервісів, з якими взаємодіє ваш інструмент. API-інтерфейси пояснюють, як називається кожен об’єкт і які дії можна виконати з кожним з них.
Що насправді означає інтерфейс прикладного програмування
Додаток: подумайте про програму як про банкомат. Коли ви підходите до банкомату, ви очікуєте, що він дозволить вам отримати доступ до свого облікового запису і завершити транзакцію, наприклад, зняти готівку. Як і банкомат, програма надає функцію, але воно не робить це саме по собі – воно повинно спілкуватися як з користувачем, так і з «банком», до якого воно звертається. Додаток також обробляє входи і виходи. Веб-додаток, мобільне або серверний додаток схожі на комп’ютер, який вирішує конкретну проблему. Програмне забезпечення може бути клієнтським додатком, таким як сайт бронювання квитків, або серверним додатком, таким як серверне програмне забезпечення, яке направляє запити до бази даних.
Програмування: API дозволяють банкомату спілкуватися з вашим банком. Програмування – це інженерна частина програмного забезпечення додатки, яка переводить введення в висновок. Іншими словами, він переводить ваш запит на отримання готівки в базу даних банку, перевіряє, чи є на вашому рахунку достатньо грошей для зняття запитаної суми, банк видає дозвіл, потім банкомат повідомляє банку, скільки ви зняли, щоб банк міг оновити свій баланс.
Інтерфейс: призначений для користувача інтерфейс (UI), то, як ми взаємодіємо з додатком. У разі банкомату, це екран, клавіатура і слот для готівки. Ми вводимо наш пін-код, вказуємо, скільки готівки ми хотіли б зняти, а потім забираємо виплачені гроші. Інтерфейси – це те, як ми спілкуємося з машиною. З API це майже те ж саме, тільки ми замінюємо користувачів програмним забезпеченням.
Якщо веб-сайт або програма пропонує API, це означає, що їх розробники створили набір URL-адрес, які повертають чисті відповіді на дані.
Віддалені API
Дистанційні API призначені для взаємодії через мережу. Під «віддаленим» ми маємо на увазі, що ресурси, якими маніпулює API, знаходяться десь за межами комп’ютера, що виконує запит. Оскільки найбільш широко використовуваною мережею зв’язку є Інтернет, більшість API розроблено на основі веб-стандартів. Не всі віддалені API є веб-API, але справедливо припустити, що всі веб-API є дистанційними.
Веб-API
Веб-API зазвичай використовують HTTP для здійснення запиту і надають визначення структури відповідати на них. Ці відповідні повідомлення зазвичай приймають форму файлу XML або JSON. І XML, і JSON є кращими форматами, оскільки вони представляють дані таким чином, щоб їх могли легко використовувати інші додатки. Веб-API діляться на дві основні категорії: віддалений виклик процедур (RPC) і Representational State Transfer (REST).
API віддаленого виклику процедур (RPC), як правило, представляють собою один URI (універсальний ідентифікатор ресурсу), який можна використовувати для виклику багатьох операцій через POST. Ці API включають передачу структурованого запиту, який включає ім’я операції, яку ви хочете викликати, і будь-які аргументи, які ви хочете передати операції. RPC в основному процедурний характер.
Representational State Transfer (REST) API – це не певний тип API, а архітектура, заснована на специфікації HTTP. REST використовує сильні сторони HTTP. Наприклад, REST використовує URI в якості унікальних ідентифікаторів для ресурсів, використовує робочі дієслова HTTP для ресурсів і дає клієнтам можливість зв’язуватися між ресурсами, щоб вказати, що ці ресурси пов’язані.
Політики випуску API
Не кожен API на 100% відкритий для всіх. Приватні та партнерські API використовуються тільки внутрішніми або затвердженими користувачами. Це дозволяє компанії контролювати, хто використовує інформацію та інші ресурси, пов’язані з її продуктами.
Приватний: API призначений тільки для внутрішнього використання. Це дає компаніям максимальний контроль над їх API.
Партнерський: API надається конкретним діловим партнерам. Це може забезпечити додаткові джерела доходу без шкоди для якості.
Публічний: API доступний для всіх. Це дозволяє третім сторонам розробляти програми, які взаємодіють з вашим API і можуть стати джерелом інновацій.
Що таке ключ API?
Ключі API використовуються для аутентифікації для користувацьких агентів, які взаємодіють або роблять запити до API. Ці ключі можуть бути відправлені в API з використанням рядка запиту, заголовка запиту або у вигляді файлу cookie.
Компанія, що управляє API, може використовувати ключі, щоб дозволити зареєстрованим користувачам тільки відправляти запити, відстежувати, хто робить запити, здійснювати контроль за використанням API і блокувати або обмежувати користувачів, які перевищують певні обмеження. Коли API побачить відправлений ключ, він підтвердить, що ви той, ким ви себе називаєте, і авторизує вас на виконання певної дії.
Що таке виклик API?
Виклик API – це коли додаток використовує API для зв’язку з сервером або іншим додатком. Це відбувається кожен раз, коли програма запускає зовнішній фрагмент коду, який не є частиною основної програми. Наприклад, якщо програма працює в Windows і їй потрібно відкрити вікно нового файлу, вона викличе API, щоб повідомити операційній системі, що їй потрібно відкрити вікно.
Приклади API
На початку розвитку API, типові програми повинні були використовувати тільки кілька API для забезпечення виконання усіх функцій. Тепер додаток може використовувати сотні API-інтерфейсів для доступу до даних або функцій інших служб.
API Facebook: Facebook фактично пропонує кілька API для різних цілей. Рекламний API Facebook дозволяє користувачам відстежувати і контролювати ефективність своїх рекламних кампаній. API Graph Facebook дозволяє іншим програмам отримувати доступ до функцій Facebook.
API Карт Google: якщо ви відвідуєте веб-сайт з вбудованою картою Google, це один з прикладів API Карт Google в дикій природі. Веб-сайт повинен взаємодіяти з картами Google, щоб отримувати інформацію і вставляти вміст на веб-сторінку.
API Dropbox: API Dropbox дозволяє користувачам читати / записувати файли, що зберігаються в Dropbox, дозволяє їм використовувати синхронізацію і зберігання файлів Dropbox і знаходити інші варіанти використання Dropbox.