Wofür steht API? Beispiele für die Verwendung von APIs
API steht für „Application Programming Interface“. Und obwohl dies seltsam klingen mag, wenn Sie neu in der Programmierung sind, sind sie leicht zu verstehen, wenn Sie es einmal aufschlüsseln. Sie verwenden sie sogar täglich, während Sie Ihr Mobiltelefon, Ihren PC bedienen oder im Internet surfen.
Software, darunter Web-Apps, mobile Apps und viele andere Programme, verbinden die Welt über das Internet. Aber um dies effizienter zu machen, muss es einen Kommunikationskanal zwischen dieser Software geben – hier kommt eine API ins Spiel.
Hier erklären wir die Bedeutung von APIs und ihre Verwendung.
Was ist eine API?
Wissen Sie, wie Sie unter anderem Videos auf Streaming-Plattformen wie Netflix und YouTube sehen können? Dies ist möglich, weil Sie eine Anfrage über eine API senden.
Oder haben Sie sich vorgestellt, wie Sie die Waren bezahlen können, die Sie in Online-Shops wie Amazon und eBay kaufen? Das liegt auch daran, dass es zwischen Ihrer Bank und den Shopping-Apps einen Kommunikationskanal gibt, der als API bezeichnet wird.
Eine API ist jedoch eine Schnittstelle mit einer Reihe von Regeln, die es dem Server Ihrer App ermöglichen, mit dem Server eines Lösungsanbieters zu interagieren, damit Sie dessen Ressourcen nutzen können. Im Wesentlichen definiert es, wie Apps oder Software miteinander kommunizieren.
In einigen Fällen ermöglicht eine API jedoch einen gegenseitigen Datenaustausch. Ein Beispiel ist eine Verbindung, die zwischen Ihren Bank-Apps und Online-Store-Apps besteht.
Eine API ist wie ein Messenger. Es verbindet sich an einem Ende mit dem Server eines Anbieters und verankert am anderen Ende auch den Server des Clients. Anschließend übermittelt es die Anfrage des Clients an die Datenquelle (Server des Anbieters) und sendet eine Antwort an den Client zurück. Ein Client ist hier der Browser oder Ihre App.
Ein Hook hängt Ihre App jedoch an die API an. Das ist ein API-Endpunkt. Hinter den Kulissen spielt sich jedoch einiges ab. Wir erklären diese weiter.
Wie APIs Ihnen helfen, Apps schneller zu entwickeln
APIs sind ein intelligenteres Werkzeug zum Erstellen nahtloser und robuster Anwendungen. Ohne sie würde das Erstellen anspruchsvoller Apps ewig dauern.
Stellen Sie sich vor, Ihre App muss komplexe Vorgänge ausführen, deren Erstellung viel Zeit und Mühe erfordert. Und dann taucht jemand mit einem vorgefertigten Programm auf, das genau das macht, was Sie wollen, und möglicherweise besser.
Aber wie können Sie dies mit Ihrer App verbinden? Der Anbieter hat erkannt, dass Ihnen dies möglicherweise schwerfällt, und hat Ihnen dann mitgeteilt, dass er eine Verbindungsschnittstelle (API) erstellt hat, die seinen Code und Ihren nahtlos integriert.
Diese Schnittstelle (API) verbindet sich mit dem Server, der ihren Code enthält. Dann gibt es Ihnen die relevanten Daten aus der Aktion ihres Skripts zurück.
Natürlich möchten Sie sich nicht mit ihrem gesamten Quellskript langweilen. Außerdem basieren die meisten modernen APIs inzwischen auf der standardisierten REST-Technologie (Representational State Transfer). Dadurch sind sie hochgradig skalierbar und einfach zu integrieren, ohne dass Sie sich Gedanken darüber machen müssen, was sich darin abspielt oder wie Ihre Antwort oder Anfrage vorformatiert ist.
In diesem Artikel wird die REST-API nicht weiter erläutert. Konzentrieren Sie sich vorerst auf die Grundlagen.
Es ist eine bessere Idee, Ihren Code in ihren einzufügen, als ihn von Grund auf neu zu schreiben. Dazu müssen Sie Ihren Code jedoch mit der bereitgestellten API verbinden. Wie machst Du das? Hier kommt ein API-Endpunkt ins Spiel.
Was ist ein API-Endpunkt?
Zur Vereinfachung stellen die Anbieter dann eine URL bereit, um eine nahtlose Verbindung zu ihrer API zu ermöglichen. Eine solche URL ist ein API-Endpunkt . Damit kann Ihre App dann über die API auf ihren Server zugreifen und direkt mit ihrem Skript kommunizieren.
Alles, was Sie tun müssen, ist den Endpunkt zu greifen, in Ihren Code einzufügen, Anfragen damit zu stellen, die Antworten anzupassen und dann funktioniert es und es gehört Ihnen! Ein API-Endpunkt bindet daher Ihre App über eine API an eine Lösung oder Datenquelle.
Letztendlich sind viele der Programme, die APIs anbieten, in verschiedenen Programmiersprachen verfügbar, sodass niemand davon ausgeschlossen wird, davon zu profitieren.
Auf diese Weise können Sie schneller und effizienter codieren, da Sie wissen, dass die Verantwortung für die Wartung der API nicht bei Ihnen liegt, sondern bei den Daten- oder Lösungsanbietern.
Daher ist ein API-Endpunkt ein Kommunikations-Hook, der eine API an einem Rand an einen Ressourcenserver bindet und ihn am anderen Ende mit dem Server des Empfängers verbindet.
Es bedeutet dann, dass Sie nicht das gesamte Skript der Lösung benötigen, die Sie verwenden möchten. Ihr Code kann jedoch keine Kommunikation damit herstellen, wenn keine Verbindung zu seinem API-Endpunkt hergestellt wird.
API-Integrationsregeln
Es gibt keine feste Regel für die Integration einer API. Es gibt eine Menge von ihnen da draußen, und jeder von ihnen hat seine Integrationsregeln. Bedenken Sie jedoch, dass Sie immer dann eine Antwort erwarten, wenn Sie eine Verbindung mit einer API herstellen.
Wie Sie Anfragen über einen API-Endpunkt stellen, basiert normalerweise auf vom Anbieter definierten Regeln, aber was Sie mit der erhaltenen Antwort tun, hängt von Ihren Vorlieben ab. Im Wesentlichen können Sie es nach Belieben drehen, um es der Benutzererfahrung und Benutzeroberfläche Ihrer App anzupassen.
Manchmal benötigen Sie auch einen Authentifikator, bevor Sie auf eine API zugreifen können. Solche Authentifikatoren werden normalerweise als Zugriffstoken oder API-Schlüssel geliefert. Sobald dieses Token einen Authentifizierungstest besteht, signalisiert die API seinem Endpunkt, eine Verbindung zwischen Ihrer App und dem Server des Anbieters herzustellen.
Als API-Verbraucher müssen Sie sich um diese Parameter nicht kümmern, da der API-Anbieter sie zur Verfügung stellt. Eine großartige API sollte in ihrer Dokumentation auch angeben, wie Sie auf ihre Ressourcen zugreifen und diese verwenden können. Achten Sie also immer darauf, wenn Sie versuchen, einen zu integrieren.
Um es abzurunden, dreht sich bei einem API-Aufruf alles um die Header , einen Endpunkt , die Anfrage und die Antwort oder den Text .
Wir haben zwar erklärt, was ein Endpunkt ist, aber lassen Sie uns diese anderen Begriffe weiter aufschlüsseln:
Überschriften
Normalerweise müssen Sie beim Herstellen einer Verbindung mit einer API zwei Arten von Headern beschreiben: den Request- und den Response- Header.
Der Request-Header ist das Gateway eines API-Aufrufs. Es beschreibt den Ansatz eines Clients für den Zugriff auf eine Ressource. Es enthält möglicherweise Details wie den akzeptablen Verbindungstyp, Proxy-Informationen und den Datentyp (JSON, XML oder HTML), den Sie von der API abrufen möchten.
Wie bereits beschrieben, müssen Sie je nach API-Typ, mit dem Sie eine Verbindung herstellen, möglicherweise auch ein eindeutiges Authentifizierungstoken im Anforderungsheader bereitstellen. Diese gibt der Anbieter in der Regel an.
Der Antwortheader hingegen ist eine Bestätigung der Daten, die vom Server des Anbieters stammen. Es gibt Ihrer App Informationen über die Eigenschaften eines Anbieters. Im Wesentlichen stellt es sicher, dass Ihre App Zugriff auf die Antwort gewährt, die von der API kommt.
API-Anfrage
Eine API-Anfrage enthält normalerweise den Endpunkt in einer URL (Unique Resource Locator). Es verwendet das Hypertext Transfer Protocol (HTTP), um die Adresse der Ressource zu finden, auf die Sie mit einer API zugreifen möchten. Letztendlich ist eine API-Anfrage nicht vollständig, wenn Sie den Endpunkt nicht in die URL einschließen.
API-Antwort
Eine Antwort ist das, was eine API jedes Mal zurücksendet, wenn sie eine Anfrage von Ihrer App erhält. Es kann sich um JSON, XML oder HTML handeln, je nach Daten- oder Inhaltstyp, der von Ihrem Anforderungsheader empfangen wird.
Sobald Sie eine Antwort von einer API erhalten, können Sie Ihren API-Aufruf als erfolgreich betrachten.
Verwendung von APIs: Praktische Beispiele
Jetzt kennen Sie die Grundlagen von APIs und wissen, was Sie für die Integration benötigen. Sehen Sie sich unten an, wie Sie eine Fußballvorhersage-API von RapidAPI mithilfe von Python verbinden und integrieren.
Es ist ein einfacher API-Aufruf, der eine JSON-Antwort zurückgibt. Sie können Ihren Code auch in einem beliebigen Texteditor schreiben und über die Befehlszeile ausführen.
Achten Sie jedoch genau auf den Endpunkt, den Inhalt der Request-Header und der Response-Header:
import requests
endpoint = "https://football-prediction-api.p.rapidapi.com/api/v2/predictions"
queryparams = {"market":"classic","iso_date":"2021-01-01","federation":"UEFA"}
#Define the request header:
headers = {
'x-rapidapi-key': "Paste your access key here",
'x-rapidapi-host': "football-prediction-api.p.rapidapi.com"
}
#Define the response header:
response = requests.request("GET", endpoint, headers=headers, params=queryparams)
#Get the response:
print(response.text)
Wie wäre es, die aktuelle Temperatur und Luftfeuchtigkeit eines Ortes mithilfe der Weatherstack-API mit Python abzurufen? Hier ist ein Beispiel unten:
import requests
endpoint = 'http://api.weatherstack.com/current'
headers = {
"access_key": "Paste your access key here",
"query": "California"
}
req = requests.get(endpoint, headers)
res = req.json()
print(u"Current temperature in %s is %d℃" %
(res["location"]["name"], res["current"]["temperature"]))
print(u"Current humidity in %s is %d℃" %
(res["location"]["name"], res["current"]["humidity"]))
Arten von APIs, die Sie integrieren können
Open-Source-APIs sind kostenlos und jeder kann sie verwenden. Interne APIs befinden sich innerhalb einer Organisation, und nur Apps, die zu dieser Organisation gehören, können ihre Ressourcen verwenden.
Sie können sich jedoch auch für eine dedizierte API entscheiden, indem Sie eine Partnerschaftsvereinbarung mit einem Anbieter eingehen. Oder Sie kombinieren mehrere APIs, um verschiedene Probleme zu lösen.
Außerdem können diese APIs, mit Ausnahme von Open-Source- und internen APIs, ihren Preis haben, der manchmal zwischen Hunderten und Tausenden von Dollar liegt.
Vereinfachen Sie die App-Entwicklung mit APIs
Wie Sie sehen, müssen Sie keinen zeitaufwendigen Code mehr schreiben. Wenn Ihre App komplexe Vorgänge ausführen soll, können Sie jederzeit nach einer relevanten API suchen. Zum Glück sind sie jetzt sogar einfacher zu integrieren als alte konventionelle. Und wenn Sie neugierig sind und mehr wissen möchten, gibt es viele kostenlose APIs, mit denen Sie sich die Hände schmutzig machen können.