API - wprowadzenie

API =Application Programming Interface

Jest to specyfikacja sposobu w jaki mogą być wymieniane dane między programami. Na przykład serwis internetowy może udostępniać API poprzez który inne serwisy mogą sięgać do danych, bez wyświetlania ich na stronie źródłowej.

Specyfikacja API wraz z przykładami i innymi materiałami przydatnymi programistom jest często udostępniana w postaci SDK:Software Development Kit.

Projekt API

Co wybrać? Gdy chcemy jedynie pobierać dane (na przykład poprzez Ajax). Wystarczy model pytanie – odpowiedź. Gdy użytkownik ma poprzez API działać na bazie danych – potrzebujemy REST lub usług sieciowych. Usługi sieciowe są niezbędne wówczas, gdykomunikacja ma bardziej złożony charakter. Stosowane są na przykład przy wysyłaniu deklaracji podatkowych.

Model pytanie – odpowiedź można traktować jako uproszczony REST, gdy chcemy jedynie pobierać dane. Stosując metodę GET podajemy parametry po prostu w adresie URL, łącząc je znakiem &. Na przykład:http://example.com/api?parametr1=wartosc1&parametr2=2

Model ten może także służyć do realizacji bardziej złożonych usług sieciowych, stanowiąc alternatywę dla bardziej złożonego SOPA. Przykładem może być usługa płatności PayU:http://developers.payu.com/pl/restapi.html

Zobacz też:

API - przykłady

Dla naszego przykładowego projektu (biblioteczki) można wykorzystać niektóre z dostępnych w sieci zasobów, dla których są dostępne odpowiednie API. Poniższy spis obrazuje też bogactwo zasobów, jakie można obecnie znaleźć w internecie:

Google Books:

http://www.programmableweb.com/news/53-books-apis-google-books-goodreads-and-sharedbook/2012/03/13

biblioteka:https://github.com/hubgit/libapi

Howto:

http://www.yiiframework.com/extension/ehttpclient/

http://www.yiiframework.com/wiki/697/make-an-ajax-request-to-another-server-using-jsonp/

OCLC:

https://pl.wikipedia.org/wiki/Online_Computer_Library_Center

https://www.oclc.org/developer/home.en.html

Wikipedia:

https://www.mediawiki.org/wiki/API:Main_page

https://github.com/thewulf7/Yii2-Wikipedia

LibraryThing

http://www.librarything.com/api

Opensearch: http://www.opensearch.org/Home

http://stackoverflow.com/questions/5216773/how-to-configure-yiis-urlmanager-for-opensearch-controller