Avantaje:

Tipuri

  • întorcându-se. Când o aplicație terță parte solicită o metodă cu parametri specificați, serverul furnizează informațiile solicitate într-un format specific;
  • schimbându-se. Clientul apelează o funcție de server care introduce informații noi sau modifică anumite setări ale acesteia.

API Yandex.Direct

API-ul este eficient pentru promovarea site-ului web.

  1. Pe baza acestuia, dezvoltatorii pot crea aplicații care interacționează direct cu serviciul motor de căutare. Astfel de programe le vor permite agenților de publicitate să gestioneze în mod flexibil publicitatea pe scară largă, să primească rapoarte statistice pentru fiecare dintre ele și să prezică cu precizie bugetele.
  2. Folosind Direct API, agențiile de publicitate pot vizualiza întreaga listă a clienților lor, iar clienții își pot vedea reprezentanții.
  3. Dacă anumite expresii utilizate pentru optimizarea motoarelor de căutare oferă un CTR scăzut în publicitatea contextuală, afișarea acestora poate fi dezactivată automat. Pe platformele tematice, puteți seta rate prin API; anumiți donatori pot fi eliminați.
  4. API-ul Yandex.Direct are o interfață SOAP, adică oferă o selecție largă de limbaje de programare pentru crearea de aplicații. Acest protocol este acceptat de limbaje precum Perl, Java, Python etc. Schimbul de date poate fi efectuat și în format JSON.

Dacă lucrați chiar și de la distanță în apropierea industriei de dezvoltare web, puteți fi 100% sigur că veți auzi acele trei litere infame: API.

Conversațiile despre ei sunt împrăștiate între noob și experți:

„De ce ar trebui să fac un apel API? Are un număr?

„Un simplu apel la acest API terță parte vă va ajuta să realizați acest lucru.”

„Vom crea un API RESTful pentru tine; asigurați-vă că noul dumneavoastră sistem funcționează bine cu alte servicii.”

Deși API-urile pot părea înfricoșătoare la început, ele îți pot schimba literalmente viața de dezvoltator.

Pentru ce? Ei bine, învățarea cum să utilizați corect API-urile vă poate simplifica, accelera și consolida fluxul de lucru de dezvoltare. Crearea sau integrarea API-urilor aduce beneficii semnificative atât clienților dvs., cât și dumneavoastră.

În calitate de dezvoltatori, auziți adesea sfatul „nu reinventați roata”:

glumă:
sfat înțelept: nu reinventați roata
programator: ok
nu mai scrie niciodată cod personalizat

Glume deoparte, API-urile joacă un rol important în a se asigura că nu reinventezi roata. La Snipcart, credem cu tărie că înțelegerea fundamentelor API este o abilitate cheie pentru dezvoltatorii web moderni. În această postare te vom ajuta să faci exact asta. Vom lua în considerare:

Beneficiile utilizării unui API Ce este de fapt un API Ce tipuri de API există Exemple practice de utilizare a unui API

Ei bine, nu este timpul să ne scufundăm?

Beneficiile API-urilor: de ce să le folosiți?

Unul dintre primii și cei mai importanți pași din cariera mea de programator a fost înțelegerea corectă a API-ului.

Încă le folosesc în fiecare zi.

Înainte de a intra în esență, permiteți-mi să vă conving că înțelegerea API-ului merită timpul dvs.

Deoarece învățarea utilizării API-urilor vă îmbunătățește foarte mult eficiența dezvoltării.

În primul rând, vă permite să utilizați unul existent logică sau părți, pe care nu trebuie să-l scrii singur. Unele lucruri pe care s-ar putea să nu le poți scrie singur! Prin urmare, pentru a economisi timp prețios, este foarte important, ca dezvoltator, să aveți o idee despre cum arată API-ul.

În al doilea rând, multe dintre problemele de dezvoltare pe care le vei întâlni au fost deja rezolvate de altcineva înaintea ta. Indiferent de forma pe care o iau aceste soluții existente (FaaS, biblioteci, servicii web, SDK-uri, API-uri de conținut etc.), cel mai probabil veți avea nevoie de un API pentru a interacționa cu ele.

Deci, ce este un API?

Ei bine, definiția oficială, înfricoșătoare este:

În programarea computerelor, o interfață de programare a aplicațiilor (API) este un set de definiții de rutină, protocoale și instrumente pentru crearea de software de aplicație. În termeni generali, este un set de metode de comunicare bine definite între diferite componente software. Un API bun facilitează dezvoltarea unui program de calculator, oferind toate elementele de bază pe care programatorul le asambla apoi.

E greu, nu? Să luăm proza ​​academică mai jos. Iată o definiție mai prietenoasă a unui API de acasă:

Mai simplu spus, un API declară o interfață cu care logica sa interacționează fără a fi nevoie să știe ce se întâmplă înăuntru. Această definiție poate fi aplicată oricărei limbi, protocol sau mediu în care vă aflați, atâta timp cât se află nivelul programului(mai multe despre asta mai jos).

Pentru a arunca puțină lumină asupra API-urilor, să enumerăm ce NU sunt acestea:

    Un API nu este neapărat un serviciu extern. De exemplu, puteți include biblioteci direct în soluția dvs. SAU le puteți utiliza printr-un API.

    Un API este mai mult decât o interfață. Aceasta este atât specificația/formatul, cât și implementarea.

    API-ul nu este o interfață grafică cu utilizatorul (GUI). Nu face interacțiune la nivel grafic; funcționează exclusiv la nivel de software, fie printr-un limbaj de programare, fie printr-un protocol de comunicații.

De asemenea, API-ul nu este un web-hook. Dacă întâmpinați probleme în a înțelege diferența dintre cele două, iată o introducere în Web Hooks.

Diverse tipuri de API

Toate API-urile nu sunt create egale.

Deși în mare parte au același scop, unii îl ating mai bine decât alții. Deoarece aceasta ar trebui să fie o introducere simplă, nu voi intra în ceea ce face API-ul mai bun decât altele. Cu toate acestea, rețineți că oamenii au abordări diferite pentru a crea API-uri. Dacă sunteți interesat de acest subiect, Google „API Design Patterns” și „API Paradigms”. Sau începeți pur și simplu cu acest articol frumos de nivel de intrare https://translate.googleusercontent.com/translate_c?depth=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=https://blog.cloudobjects.io/api-design / 2017/04/10/api-design-paradigms/&xid=17259,15700019,15700186,15700190,15700248,15700253&usg=ALkJrhg_fNGbUZsc4_Ezoo :)

Scopul unui API este de a vă ușura viața de dezvoltator. Cum o fac? Prin combinarea unei colecții de caracteristici/funcții și expunerea acelor caracteristici prin punctele finale (de obicei, modele URL utilizate pentru a interacționa cu API-ul). Aceste puncte finale sunt singura modalitate de a interacționa cu orice API. Fiecare punct final va avea un format specific pentru cererile și răspunsurile sale - de obicei veți găsi acest format în documentația API.

Punctele finale pot fi funcții simple sau alcătuite din multe funcții care apelează alte API-uri și așa mai departe. Singurul punct important aici este că logica de bază a acestor funcții este complet abstractizată. Nu aveți nevoie de cunoștințe despre ceea ce se întâmplă în interiorul lor pentru a le folosi. Atâta timp cât folosești formatul corect, le vei putea folosi, ceea ce este un mod elegant de a spune, folosind părți din ele din aplicația ta.

În concluzie, un API este ca orice interfață: un întrerupător de lumină va aprinde o lumină, indiferent dacă știi cum funcționează curentii electrici (sau am învățat, de asemenea, când eram tânăr că trebuie să plătești o factură pentru a o face să funcționeze pentru electricitate, dar asta e alta poveste.)

Cum se utilizează API-ul: exemple practice

Citirea și înțelegerea documentației API

Din documente puteți vedea că fiecare funcție de obiect descrie care ar trebui să fie formatul de intrare (număr, matrice de numere etc.) și descrie formatul de ieșire. Rețineți, totuși, că nu este menționat nimic în ceea ce privește logica pentru a rula aceste funcții. De exemplu, dacă rulați consola pentru dezvoltatori și Math.sqrt (fără a executa funcția), veți obține ceva de genul ƒ sqrt() ( ) . Acesta este spiritul API-urilor: indiferent dacă apelați unul dintre API-urile sistemului dvs. de operare sau un API web, aceste principii rămân aceleași.

Exemple de utilizare de bază a API-ului

Există o mulțime de lucruri de făcut cu furnizorii populari de API. De exemplu, API-ul Google Maps este adesea folosit pentru a îmbunătăți experiența utilizatorului cu date bazate pe afișaje în timp real și pe semnale de trafic. API-ul Twitter, un alt mare, poate fi folosit pentru a filtra și afișa tweet-uri vizate în timp real.

Acum, dacă ați urmărit blogul nostru, bănuiesc că sunteți mai interesat de API-urile web decât de orice altceva. Deci, haideți să ne aprofundăm în cazuri de utilizare specifice. Vă rugăm să rețineți că vom folosi Postman în exemplele noastre. Desigur, acest client Rest este asociat cu un mediu web, dar astfel de instrumente există de obicei și în alte medii. Merită să aruncați o privire asupra instrumentelor oferite pentru un anumit mediu înainte de a începe să vă jucați cu el; vă poate economisi mult timp.

Dacă doriți să ne urmăriți, trebuie să descărcați clientul Postman. https://www.getpostman.com/

Utilizarea API-ului public pentru a prelua date

Primul nostru exemplu va fi destul de simplu, dar totuși mai interesant decât cel matematic.

Vom folosi API-ul Dog! Nu numai că este un API distractiv, dar și nu necesită nicio autentificare. În plus, este un API REST HTTP, ceea ce înseamnă că este un API web. Deoarece este asociat cu acest mediu, ne cere să respectăm unele caracteristici specifice ale protocolului: în acest caz verbe HTTP (GET, PUT, POST, DELETE etc.). În exemplul nostru, îl vom păstra simplu și vom folosi doar verbul GET. În orice caz, API-ul nu vă permite să susțineți nimic altceva. Majoritatea API-urilor publice vă permit doar să consumați date, nu să le publicați, cum ar fi verbul GET.

Să lansăm Postman și să vedem cum arată interfața sa de utilizator.

Interfața mea de utilizare folosește o temă întunecată, așa că poate arăta puțin diferit de a ta.

Pot fi multe informații de digerat la început, așa că să începem cu VERB și URL.

Verbul implicit ar trebui să fie GET, astfel încât să îl puteți lăsa așa și să introduceți următorul URL: https://dog.ceo/api/breeds/list/all

Faceți clic pe „Trimite” și gata! Ar trebui să primiți un răspuns cu datele relevante. Voila! Tocmai ați efectuat primul apel API. Acum, pentru acest exemplu, nu vom folosi niciuna dintre datele primite. Dar aveți o idee: puteți arăta diferite rase de câini utilizatorului dvs. și puteți afișa o imagine a acelei rase dacă dă clic pe ea.

Vă puteți juca cu diferitele rute din documentația lor pentru a vă familiariza cu mediul.

Fapt interesant: acest mic proiect este, de asemenea, open source, așa că îl puteți verifica aici https://github.com/ElliottLandsborough/dog-ceo-api.

Gestionarea autentificării utilizând API-ul privat

Aici vom folosi codul doar pentru a interacționa cu API-ul Snipcart https://docs.snipcart.com/api-reference/introduction. Poți închide Poștașul, dar ține-l la îndemână; Este bine să folosiți un astfel de instrument atunci când rulați cu un API.

Scopul va fi crearea unui instrument CLI simplu pentru a genera reduceri de utilizare unică pentru clienți. Aceste reduceri vor fi generate printr-un API și se vor întâmpla în întregime pe computerul dvs.

Creați un folder nou pentru acest proiect, utilizați npm init în folder și încărcați editorul de text. Acum creați un fișier index.js, apoi deschideți fișierul package.json. În el, adăugați următoarele linii la obiectul de nivel superior:

„bin”: ( „reduceri”: „./index.js”)

Vom avea nevoie, de asemenea, de pachetul comandant pentru a analiza intrarea de la client. Deci, rulați npm install -save commander în folderul curent. De asemenea, vom folosi o mică bibliotecă pentru a crea identificatori; Îl puteți instala folosind npm install -save shortid . În timp ce suntem la asta, să rulăm și npm install -save request lib, astfel încât să putem face apelurile HTTP mai ușoare. Reveniți la fișierul index.js și inserați acest cod:

#!/usr/bin/env node var program = require(‘comandant’); var shortid = require(‘shortid’); var cerere = require('cerere'); funcția CreateDiscount())( var discount = ( nume: „20% OFF”, declanșare: „Cod”, tip: „Rate”, rate: 20, maxNumberOfUsages: 1, cod: shortid.generate() ) request(( url : „http://app.snipcart.com/api/discounts" , auth: ( 'utilizator': 'YOUR_API_KEY' ), metoda: „POST”, json: true, body: discount ), funcție (eroare, răspuns, body )( console.log(body.code); )); ) program .arguments(' ') .action(function(number) ( for(var i = parseFloat(number); i > 0; i-)( CreateDiscount ( ); ) )).parse(process.argv);

Să ne concentrăm doar pe funcția de solicitare aici. Aici efectuăm un apel API extern către Snipcart. Puteți vedea că trecem metoda: „POST” metodei. Acest lucru se datorează faptului că dorim să publicăm date în API-ul Snipcart. Specificând această metodă, API-ul va reda acțiunea corect, astfel încât să poată citi corpul cererii, care conține datele de reducere.

O caracteristică API interesantă pe care nu am folosit-o încă este autentificarea. Toate celelalte exemple ale noastre au fost pe API-uri publice: nu necesită autentificare. Dar, în scenariile din lumea reală, majoritatea API-urilor pe care le utilizați vor necesita probabil un fel de autentificare, cum ar fi API-ul Twitter sau API-ul Google Maps. Acesta este un „model” standard în lumea API. Clienții noștri nu ar fi la fel de fericiți dacă l-am lăsa pe altcineva să creeze reduceri în magazinul lor. ;)

Conceptele de autentificare pot deveni destul de greoaie; Puteți citi această postare grozavă https://translate.googleusercontent.com/translate_c?depth=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=http://blog.restcase.com/restful-api-authentication- elemente de bază /&xid=17259,15700019,15700186,15700190,15700248,15700253&usg=ALkJrhjwWO5yc6nayLpXCQkh_X95B0OZMw pentru a stăpâni mai bine subiectul.

În scopul nostru, transmitem cheia API https://translate.googleusercontent.com/translate_c?depth=1&rurl=translate.google.ru&sl=auto&sp=nmt4&tl=ru&u=https://en.wikipedia.org/wiki/Application_programming_interface_key&xid =17259, 15700019,15700186,15700190,15700248,15700253&usg=ALkJrhhpSWyk-nV9379VcrY3TMcKiAdXlQ direct în cerere și urează serverul! Apoi poate face o solicitare specifică numai contului nostru.

Dacă doriți să testați mica noastră aplicație, puteți rula npm install -g în directorul proiectului și pur și simplu rulați reduceri x pentru a crea reduceri x de ori. Puteți accesa tabloul de bord Snipcart (conturi pentru totdeauna gratuite în modul de testare) și vă asigurați că reducerile au fost create corect. Vă puteți imagina cât de puternic poate fi acest lucru: dacă ar trebui să creați 200 dintre aceste reduceri, ar dura prea mult timp să o faceți prin interfața noastră cu utilizatorul. Cu toate acestea, odată ce vă familiarizați cu modul în care funcționează API-ul, se poate face în câteva minute. Codul este și reutilizabil, așa că dacă trebuie să faci același lucru într-o lună, ei bine, ești gata!

Dacă aveți cazuri de utilizare specifice pentru API despre care doriți să vorbiți, vă rugăm să le scrieți în comentarii. Vom analiza să le adăugăm în foaia noastră de parcurs de conținut! :)

Gânduri finale

Sper din tot sufletul că acest tutorial v-a ajutat să înțelegeți mai bine ce sunt API-urile și cum le puteți utiliza în fluxul de lucru de dezvoltare.

Câteva concluzii:

  • API-urile vă vor accelera viteza și vă vor extinde capacitățile de dezvoltare. Utilizati-le!
  • API-urile nu sunt neapărat legate de ecosistemul web; Le vei vedea peste tot.
  • Verificați întotdeauna cu atenție documentația API-ului pe care doriți să îl utilizați.
  • Căutați întotdeauna instrumentele existente (API-uri sau altele) în ecosistemul dvs. înainte de a începe să codificați.

Acum, ultimul nostru exemplu nu este gata de „producție”, dar vă oferă o idee bună despre cum ar putea arăta lucrurile în viața reală. Există multe lucruri pe care le-am putea îmbunătăți, cum ar fi să permitem utilizatorului să selecteze tipul de reducere etc. De asemenea, am putea folosi codurile generate pentru a le trimite prin e-mail direct în aceeași funcție, mai degrabă decât să le înregistrăm. Dacă am avea nevoi mai mari pentru instrumentele noastre de reducere, am putea scrie API-ul singuri. De acolo am putea chiar să creăm o interfață de utilizare care interacționează cu API-ul nostru, dacă dorim. Oricum, sper că ai prins ideea acum! :)

Deci, care este următorul pas? Ca aproape tot ce se află în dezvoltare, trebuie să codificați, să codificați, să codificați și să mai codificați! Acest lucru vă va introduce în gestionarea și integrarea API. După un timp vei deveni mai eficient cu ele.

Și de aici începe adevărata distracție.

Mai devreme sau mai târziu, orice programator se confruntă cu un astfel de concept ca API. Cu toate acestea, atunci când are loc o astfel de întâlnire, nu toată lumea știe ce este, de ce este necesară și cum să o folosească. Și în acest articol voi umple această lacună în cunoștințele unora dintre voi și, de asemenea, voi da un exemplu din practica mea.

API (interfața de programare a aplicației) - Acest interfața de programare a aplicației. În termeni mai simpli, acesta este un set de diferite funcții, constante, clase și formate de interogare care pot fi utilizate în alte programe.

Se poate considera că API- acesta este un anumit obiect, a cărui implementare nu știm, totuși, îl putem folosi. De exemplu, un computer este un obiect a cărui implementare foarte puțină lume o cunoaște, totuși, aproape toată lumea îl poate folosi pentru a efectua anumite acțiuni: vizionarea videoclipurilor, navigarea pe Internet, imprimarea textului etc. Puțini oameni știu cum funcționează totul, dar aproape toată lumea o poate face.

Exemplu API este API Windows, API OpenGL, Direct3D APIși așa mai departe.

De exemplu, nu cu mult timp în urmă am întâlnit și eu direct API. M-am înregistrat pentru serviciul de liste de corespondență" SmartResponder.ru" și a început un buletin informativ, la care oamenii au început să se aboneze. Sarcina a fost următoarea: în 24 de ore de la abonare, o persoană poate achiziționa cursul meu video plătit cu reducere. Deoarece toate informațiile despre abonați sunt stocate pe server " SmartResponder.ru", apoi acces normal (de exemplu, prin DB) Nu am avut acces la aceste date, dar a fost necesar să le implementez. Din fericire, " SmartResponder.ru„ai pe al tău API, pe care l-am folosit.

Am gasit in ele API format de cerere pentru a obține data abonamentului ca rezultat. Mai departe prin răsuci Am trimis cererea corespunzătoare și am primit data de abonament necesară pentru un anumit adrese de email. Urmează procesarea standard și ieșirea rezultatului.

Probabil ați văzut termenul „API”. Sistemul de operare, browserul web și actualizările aplicațiilor anunță frecvent noi API-uri pentru dezvoltatori. Dar ce este un API?

interfața de programare a aplicației

Termenul API este un acronim și înseamnă Interfață de programare a aplicațiilor.

Un API este ca un meniu într-un restaurant. Meniul contine o lista de preparate pe care le puteti comanda, precum si o descriere a fiecarui fel de mancare. Când specificați ce articole de meniu doriți, bucătăria restaurantului face treaba și vă pune la dispoziție preparatele finite. Nu știi exact cum pregătește restaurantul această mâncare și nici nu e nevoie.

De asemenea, API-ul oferă multe operațiuni pe care dezvoltatorii le pot folosi, precum și o descriere a ceea ce fac. Dezvoltatorul nu trebuie să știe cum, de exemplu, este creat sistemul de operare și este afișată caseta de dialog Salvare ca. Trebuie doar să știe că este disponibil pentru utilizare în aplicație.

Aceasta nu este o metaforă perfectă, deoarece dezvoltatorii ar putea fi nevoiți să furnizeze propriile lor date API pentru a obține rezultate, așa că poate că este mai degrabă un restaurant elegant, în care puteți furniza unele dintre propriile ingrediente pentru a lucra în bucătărie.

API-urile le permit dezvoltatorilor să economisească timp prin valorificarea implementării platformei pentru a realiza o muncă importantă. Acest lucru ajută la reducerea cantității de cod de dezvoltat și, de asemenea, ajută la crearea coerenței între aplicațiile de pe aceeași platformă. API-urile pot controla accesul la resursele hardware și software.

API-urile ușurează viața dezvoltatorilor

Să presupunem că doriți să dezvoltați o aplicație pentru iPhone. Sistemul de operare iOS al Apple oferă un număr mare de API-uri, la fel ca orice alt sistem de operare, pentru a vă facilita acest lucru.

De exemplu, dacă doriți să încorporați un browser web pentru a afișa una sau mai multe pagini web, nu trebuie să vă programați propriul browser web de la zero doar pentru aplicația dvs. Tu
Puteți utiliza API-ul WKWebView pentru a încorpora un browser web WebKit (Safari) în aplicația dvs.

Dacă doriți să faceți fotografii sau videoclipuri de pe camera iPhone, nu trebuie să vă scrieți propria interfață a camerei. Puteți folosi Camera API pentru a încorpora camera iPhone în aplicația dvs. Dacă API-ul nu ar exista, dezvoltatorii de aplicații ar trebui să-și creeze propriul software pentru camere și să interpreteze intrările hardware ale camerei. Dar dezvoltatorii de sisteme de operare Apple au făcut toată munca grea, așa că dezvoltatorii pot pur și simplu să folosească API-ul camerei pentru a încorpora camera și apoi să continue să își scrie aplicația. Și când Apple îmbunătățește API-ul camerei, toate aplicațiile care îl folosesc vor profita automat de această îmbunătățire.

Acest lucru este valabil pentru toate platformele. De exemplu, doriți să creați o casetă de dialog în Windows? Există un API pentru asta. Doriți să acceptați autentificarea cu amprentă pe Android? Există un API pentru asta, așa că nu trebuie să testați fiecare senzor de amprentă de la fiecare producător de Android. Dezvoltatorii nu trebuie să reinventeze roata din nou și din nou.

API-urile controlează accesul la resurse

API-urile sunt, de asemenea, folosite pentru a controla accesul la dispozitivele hardware și la caracteristicile software pe care aplicația poate să nu aibă permisiunea de a le utiliza. Acesta este motivul pentru care API-urile joacă adesea un rol important în securitate.

De exemplu, dacă ați vizitat vreodată un site web și ați văzut un mesaj în browser că site-ul web vă solicită locația exactă, site-ul respectiv încearcă să folosească API-ul de localizare geografică în browserul dvs. web. Browserele web oferă API-uri care facilitează accesul dezvoltatorilor web la locația dvs. - aceștia pot întreba pur și simplu „unde sunteți?”, iar browserul va face munca grea de a accesa GPS-ul sau rețelele Wi-Fi din apropiere pentru a vă găsi locația fizică. .

Cu toate acestea, browserele expun aceste informații și prin intermediul API-urilor, deoarece accesul la acestea poate fi controlat. Când un site web dorește să acceseze locația dvs. exactă, singura modalitate de a o obține este prin intermediul API-ului de locație. Și, atunci când un site web încearcă să-l folosească, tu — utilizatorul — poți permite sau refuza solicitarea. Resursele hardware, cum ar fi un senzor GPS, pot fi accesate numai printr-un API, astfel încât browserul poate controla accesul la hardware și poate limita ceea ce pot face aplicațiile.

Același principiu este folosit pentru sistemele de operare mobile moderne, cum ar fi iOS și Android, unde aplicațiile mobile au permisiuni care pot fi impuse prin controlul accesului la API-uri. De exemplu, dacă un dezvoltator încearcă să acceseze camera prin API-ul camerei, puteți refuza solicitarea de permisiune, iar aplicația nu va avea acces la camera dispozitivului dvs.

Sistemele de fișiere care utilizează permisiuni, cum ar fi Windows, Mac și Linux, au acele drepturi care sunt impuse de API-ul sistemului de fișiere. O aplicație tipică nu are acces direct la un hard disk fizic brut. În schimb, aplicația trebuie să acceseze fișierele prin API.

API-urile sunt folosite pentru comunicarea între servicii

API-urile sunt folosite și din alte motive. De exemplu, dacă ați văzut vreodată un obiect Google Maps încorporat pe un site web, acel site folosește API-ul Google Maps pentru a încorpora harta respectivă. Google furnizează API-uri ca acestea pentru dezvoltatorii web, care pot folosi apoi API-urile pentru a asambla obiecte complexe direct pe site-ul lor. Dacă nu există astfel de API-uri, dezvoltatorii ar putea fi nevoiți să-și creeze propriile hărți și să furnizeze propriile lor date de hărți pentru a găzdui o mică hartă interactivă pe un site web.

Și pentru că este un API, Google poate controla accesul la Google Maps pe site-urile web ale terților, asigurându-se că îl utilizează într-o manieră consecventă, mai degrabă decât să încerce să implementeze aleatoriu cadrul pe care îl arată site-ul Google Maps, de exemplu.

Acest lucru se aplică multor servicii online diferite. Există API-uri pentru a solicita o traducere a textului din Google Translate sau pentru a afișa comentarii Facebook sau tweet-uri Twitter pe un site web.

Standardul OAuth definește, de asemenea, o serie de API-uri care vă permit să vă conectați la un site printr-un alt serviciu, cum ar fi utilizarea conturilor dvs. Facebook, Google sau Twitter pentru a vă conecta la un site web nou, fără a crea un nou cont de utilizator doar pentru acel site. API-urile sunt contracte standard care definesc modul în care dezvoltatorii interacționează cu un serviciu și tipul de rezultate pe care dezvoltatorii ar trebui să se aștepte să le primească.

Dacă ați citit acest articol, veți avea o idee mai bună despre ce este un API. În cele din urmă, nu trebuie să știți ce este un API decât dacă sunteți dezvoltator. Dar, dacă observați că o platformă software sau un serviciu a adăugat noi API-uri pentru diferite hardware sau servicii, ar trebui să fie mai ușor pentru dezvoltatori să folosească astfel de funcții.

Un API este o interfață externă pentru programarea unei aplicații, accesarea site-urilor folosind un protocol specific pentru obținerea de informații și dezvoltarea simplificată a programelor asociate serviciilor interne.

Ce înseamnă API?

Cea mai simplă analogie pentru utilizarea unui API ar fi folosirea unui calculator pentru a efectua calcule complexe. Să presupunem că aveți o sarcină, puteți înțelege esența ei, puteți construi ecuații și grafice, dar nu știți să efectuați operații aritmetice cu numere. Există un calculator lângă tine care poate face aceste operațiuni cu ușurință. Nu știi ce se întâmplă în interiorul computerului și nu trebuie să știi. Dați informații într-o formă și le primiți în alta, necesare scopurilor dumneavoastră.

Orice API funcționează pe acest principiu. Nu vă interesează cum primește programul răspunsul, ce cale urmează cererea în interiorul acestuia, cum sunt efectuate calculele. Sunteți sigur de un singur lucru - ca răspuns, se vor oferi informații standardizate despre succesul operațiunii sau despre eroarea acesteia.

Interfața API vă permite să nu vă pierdeți timpul, banii și efortul cumpărând o „bicicletă nouă”. Obțineți un port de informații de lucru care primește și trimite cantitățile necesare de date în scopul dezvoltării dvs.

Pro:

  • Economisiți la dezvoltarea propriei interfețe.
  • Nu este nevoie să înțelegeți nuanțele problemei.
  • API-urile sunt dezvoltate de profesioniști și iau în considerare toți factorii proceselor interne de care este posibil să nu fiți conștient atunci când vă creați soluția.
  • Vă permite să comunicați cu servicii care sunt închise prin alte protocoale.

Minusuri:

  • Dacă serviciul țintă este actualizat, API-ul nu primește întotdeauna imediat funcționalitatea completă.
  • Nu puteți detecta erori și nu știți cum funcționează procesul în codul altcuiva.
  • API-ul nu oferă întotdeauna cel mai optimizat rezultat în termeni de timp, deoarece este conceput pentru a gestiona cazuri generale, nu specifice.

Exemple API

Integrarea API este procesul de conectare a unei aplicații la o interfață de date externă. Lucrul cu API-ul începe cu studierea documentației și a protocoalelor utilizate și apoi integrarea directă a programului în interfață. Să ne uităm la cele mai populare servicii care au propriul API.

VKAPI

Interfață externă pentru interacțiunea rețelei sociale populare VKontakte cu clienții, precum și cu aplicațiile browser și server. Vă permite să gestionați mesajele comunității, coperțile grupurilor, paginile de utilizator dacă aveți cheile de acces adecvate.

Toate cererile se fac la adresa https://api.vk.com/method/

După slash vine numele metodei API utilizate și parametrii GET ai cererii sunt transmisi. Răspunsul vine și prin HTTPS în format JSON.

API-ul TELEGRAM BOT

Unul dintre cele mai populare API-uri. Este folosit pentru a controla boții în messengerul Telegram. După ce ați creat un bot prin @botfather și obțineți cheile de acces necesare, puteți începe să interacționați cu backend-ul.

Cererile se pot face la: https://api.telegram.org/bot0000000:token/

Unde bot0000000 este înlocuit cu identificatorul unic al botului tău, iar simbolul exprimă cheia secretă.

Solicitările sunt trimise prin conexiuni HTTPS, numele metodei este indicat cu o bară oblică către adresa principală. Răspunsul vine în format JSON.

Deschideți API-ul HARTĂ METEO

Este adesea necesar să obțineți informații despre vreme fără a utiliza widget-uri și aplicații plătite de la terți. Serviciul OpenWeatherMap vine în ajutor cu un API deschis și gratuit. După înregistrarea și primirea datelor de identificare, puteți trimite solicitări de vreme de la scripturi de server din întreaga lume. Ca răspuns la ID-ul orașului, resursa returnează cele mai detaliate informații despre vremea actuală și oferă o prognoză pentru viitorul apropiat.

Format: transmitere HTTP prin api.openweathermap.org/data/2.5/weather?id= indicând numărul de identificare al orașului dorit. Răspuns server: JSON.

API-ul GOOGLE MAPS

Ce poate fi mai frumos decât o hartă interactivă a lumii pe un site web? Mai ales dacă acesta nu este un șablon inserat din Google Maps, ci ediția dvs. personală a unei hărți populare cu grupuri personale de marcatori. Harta va interacționa cu alte scripturi de pe site, trimițând informații despre clicuri și coordonate.

API-ul JavaScript Google Maps oferă capabilități similare. Modulul este complet scriptat și funcționează pe partea de browser, așa că nu avem nevoie de solicitări HTTP de la PHP și de formarea antetelor pe partea de server, așa cum a fost cazul în alte API-uri.

De exemplu, plasarea unui marcator pe o hartă va arăta astfel:

var mark = nou google.maps.Marker((
poziție: myPOS,
harta: harta,
titlu: "Bună ziua!"
});

Care este necesitatea și beneficiile utilizării API-ului?

Există destul de multe funcții utile.

Primul aspect

Puteți stabili interacțiunea interactivă a utilizatorului cu rețelele sociale și mesageria instantanee, puteți utiliza capabilitățile sistemelor de calcul terțe pentru a afișa cursurile de schimb, vremea și alte informații importante.

Folosind API-ul, puteți conecta instantaneu alte resurse și soluții software la servere, ceea ce în mod normal ar dura săptămâni de dezvoltare. API-ul simplifică viața acolo unde nu este necesară o implementare unică, iar fiabilitatea și securitatea sunt o prioritate.

Al doilea aspect

Dacă sunteți proprietarul unei puteri de calcul complexe, a unui serviciu popular sau a stocării de date pentru acces public sau semi-privat, atunci o mișcare bună ar fi să vă creați propriul API. Ce va oferi:

  • Flux mare de clienți.
  • Acces simplificat la serviciile dvs. pentru parteneri.
  • Comoditatea analizei statistice a utilizării serviciilor.

Al treilea aspect

Aproape la fel ca al doilea. Dar fără a fi nevoie să implementați un API cu acces deschis. Dacă aveți un portal și doriți să creați o aplicație mobilă pentru acesta pe Android/IOS, atunci rescrierea sistemului sub un singur API este cea mai bună soluție. Întreaga structură a datelor este sistematizată. Site-ul și aplicația vor funcționa prin canale de date unice.