Ich studiere Programmierung und was ist API? Hast du das jemals gefühlt?
** "Was können Sie überhaupt mit der API tun?" ** ** "Wie benutzt du das?" **
Um diese Probleme zu lösen, ist es gut, den allen APIs gemeinsamen Mechanismus zu verstehen. Ich zeige Ihnen den spezifischen Python-Code. Wenn Sie mit dem Lesen fertig sind, sollten Sie mit der Verwendung der API vertraut sein.
Die Kapitelstruktur ist wie folgt.
--Was ist API (Vorteile der Verwendung von API) --Verstehen der API
※※ Verschiedene Informationen werden auch auf SNS veröffentlicht. Wenn Sie also der Meinung sind, dass es in Ordnung ist, den Artikel zu lesen Ich wäre Ihnen dankbar, wenn Sie Twitter-Konto "Saku731" folgen könnten. ※※
API steht für "** A ** Anwendung ** P ** Programmierung ** I ** Schnittstelle". Die wörtliche Übersetzung lautet wie folgt.
--Anwendung
Der größte Vorteil, den die API benötigt, ist, etwas tiefer zu gehen "** Leihen Sie nützliche Funktionen, die von anderen Personen erstellt wurden, an den von Ihnen erstellten Webdienst aus **" Ich denke das ist alles.
Mit anderen Worten, Sie müssen nicht hart arbeiten, um sich von Grund auf neu zu entwickeln. Welches würden Sie beispielsweise bei der Entwicklung einer EC-Site wählen?
--Erstellen Sie Ihre eigene ** Kreditzahlungsfunktion ** --Verwenden Sie die vom Kartenunternehmen bereitgestellte ** Kreditzahlungs-API **
Auf diese Weise ist die Option ** "Mach es nicht selbst" ** der größte Vorteil der API.
Nachdem Sie die Vorteile der API kennen, wollen wir verstehen, wie sie funktioniert. Es sind drei Haupttypen von Wissen erforderlich.
―― 1) Wie das Web funktioniert ―― 2) HTTP-Anfrage ―― 3) HTTP-Antwort
Das Internet, das ich gelegentlich benutze, wird dank des Web ermöglicht. Das Web ist ein "** Mechanismus zum Senden aller Arten von Daten wie Texte und Bilder im Internet **".
Sie müssen also das Web verstehen, um einen Webdienst auszuleihen, der von einer anderen Person mithilfe der API erstellt wurde. Um das Web zu verstehen, halten wir die folgenden drei gedrückt.
Es ist so, wenn man es in Sätzen organisiert.
Was ist das Web? "Nach dem Kommunikationsversprechen von HTTP" "Zu und von dem durch die URL angegebenen Ort (Server)" Ein Mechanismus zum "Austausch von Hypertext (Informationen)".
Ich muss viele Bücher lesen, um das Web im Detail zu verstehen. Es reicht zu verstehen, dass es sich um "** Technologie zum Austausch von Informationen mit dem durch URL ** angegebenen Server **" handelt.
Die API ist ein Mechanismus, der den Informationsaustausch zwischen ** Ihrem eigenen Webdienst ** und einem Webdienst (Server) ** erleichtert, der von einer anderen Person erstellt wurde, die diese Webtechnologie verwendet.
Um die API konkret nutzen zu können, muss die vom Web übernommene HTTP (Communication Convention) verwendet werden. Es gibt zwei Arten: "Informationen an die andere Partei senden ** HTTP-Anforderung **" und "Informationen von der anderen Partei empfangen ** HTTP-Antwort **". Lassen Sie uns diese später verstehen.
Die erste ist eine HTTP-Anforderung, mit der Sie Daten an die andere Partei senden. Es ist ein Prozess, eine Anfrage wie "Bitte lassen Sie mich die Funktion verwenden" ** an einen Webdienst zu senden, der von einer anderen Person über die API erstellt wurde.
Die API-Verwendung sieht für jeden Webdienst unterschiedlich aus, sie haben jedoch eine gemeinsame Grundlage. Die folgenden Informationen sollten bei der Verwendung einer API gemeinsam erstellt werden.
Diese ** Hauptelemente sind allen APIs ** gemeinsam, es gibt jedoch Unterschiede in den Details. Überprüfen Sie den erforderlichen Inhalt in den von jedem Dienst veröffentlichten "** API-Spezifikationen **".
Wenn Sie eine API verwenden, die das Wetter in jedem Bereich abrufen kann, werden die Informationen auf diese Weise organisiert. Es ist nicht notwendig, sich dessen zuerst bewusst zu sein, da in der API-Spezifikation geschrieben ist, ob POST oder GET verwendet werden soll.
Neben POST und GET gibt es Methoden namens PUT und DELETE. Es wird grob wie folgt erklärt.
--GET: Daten abrufen --POST: Neue Daten erstellen --PUT: Daten aktualisieren --DELETE: Daten löschen
Das Beispielprogramm ist wie folgt.
#Bibliothek importieren
import requests
#Informationen zum Herstellen einer Verbindung zur API
API_Endpoint = https:/world_weather.com/api
API_Key = aaabbbccc
#Informationen, die an die API gesendet werden sollen
headers = {'Content-Type': 'application/json', 'key':API_Key}
body = {date='today', area=Tokyo}
#API-Verbindung ausführen
result = requests.post(API_Endpoint, data=json.dumps(body), headers=headers)
Die GET-Methode wird im Allgemeinen wie folgt geschrieben, obwohl sie vom Dienst abhängt.
** ① Prinzip: Alle Informationen in den Endpunkt (URL) aufnehmen **
#Bibliothek importieren
import requests
#Informationen zum Herstellen einer Verbindung zur API ("?"Hinter"&”Um die Bedingungen zu verbinden)
API_Endpoint = https:/world_weather.com/api?Key=aaabbbccc&date='today'&area='Tokyo'
#API-Verbindung ausführen
result = requests.get(API_Endpoint)
** requests Anfragen
Modulfunktion: Separate Informationen wie POST **
Diese Beschreibungsmethode ähnelt POST. Auf der Rückseite werden die Daten in derselben Form wie "(1) Prinzip" gesendet, sodass das Ergebnis dasselbe ist.
#Bibliothek importieren
import requests
#Informationen zum Herstellen einer Verbindung zur API
API_Endpoint = https:/world_weather.com/api
API_Key = aaabbbccc
#Informationen, die an die API gesendet werden sollen
headers = {'key':API_Key}
params = {date='today', area=Tokyo}
#API-Verbindung ausführen
result = requests.get(API_Endpoint, headers=headers, params=params)
Wenn Sie eine HTTP-Anfrage über die API an einen Webdienst senden, erhalten Sie eine "Antwort" mit dem Namen ** HTTP-Antwort **. Indem Sie diese "Antwort" in Ihrem eigenen Webdienst anzeigen, können Sie sich die Mühe ersparen, sich von Grund auf neu zu entwickeln.
Zum Beispiel, "** Anfrage **: Bitte sag mir das Wetter. Heute Japan, Tokio “
"** Antwort **: Sonnig dann bewölkt"
Nachdem Sie einen Überblick über die API erhalten haben, verwenden wir den kostenlosen API-Dienst, der tatsächlich verfügbar ist.
Versuchen Sie es mit dem Livedoor Wetterinformationsdienst ** Weather Hacks **. Bis "Heute, morgen, übermorgen" können Sie kostenlos Wettervorhersagen für 142 Standorte in ganz Japan erhalten.
http://weather.livedoor.com/weather_hacks/webservice
Klicken Sie auf den Link oben, um die API-Spezifikationen anzuzeigen. Die Anzahl der Artikel und Namen variiert je nach Service. Die zu bestätigende Bestellung lautet jedoch wie folgt.
Lassen Sie uns sie in der richtigen Reihenfolge organisieren. Diesmal ist es ein kostenloser Service, also sehr einfach.
** Wie bekomme ich den API-Schlüssel? ** **. Da es keine besondere Beschreibung gibt, scheint es sich um einen Dienst zu handeln, der ohne Authentifizierung verwendet werden kann (kein API-Schlüssel erforderlich).
** POST oder GET? ** **. Dieser Dienst verwendet die ** GET ** -Methode. In dem Fall, in dem die Methode nicht angegeben ist, selbst wenn Sie sich die Spezifikationen wie dieses Mal ansehen, wird sie wie folgt bestimmt. --Wenn eine Beschreibung in Form von "Endpunkt (URL) + Abfrageparameter" verwendet werden soll: GET in vielen Fällen
** Was sind die Abfrageparameter? ** **.
Es scheint, dass Sie das Gebiet (Stadt
) angeben sollten, in dem Sie die Wettervorhersage erhalten möchten.
Verwenden wir "Kurume: 400040" aus dem Beispiel.
** Welche Informationen soll ich im Header / Body senden? ** **. Da die GET-Methode verwendet wird, muss kein Header-Body vorbereitet werden.
Nachdem Sie die Informationen haben, die Sie für Ihre Anfrage benötigen, stellen wir eine Anfrage an die API in Python.
Es ist in Ordnung, wenn Sie den Code kopieren, einfügen und so ausführen, wie er ist.
#Bibliothek für API-Anfrage erforderlich
import requests
#URL + Abfrageparameter
url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=400040'
#API-Anfrage senden
tenki_data = requests.get(url).json()
Die Anzeige des zurückgegebenen Ergebnisses mit "print ()" macht die Anzeige sehr schwer lesbar. Es kann nicht so verwendet werden, wie es ist, daher ist es notwendig zu verstehen, wie ** JSON-Daten ** verwendet werden.
print(tenki_data)
Die von der API zurückgegebenen Daten liegen häufig im ** JSON-Format ** vor. Ich werde die ausführliche Erklärung weglassen, aber es ist üblich, das JSON-Format in den Wörterbuch-Typ im Teil ".json ()" zu konvertieren, der in "request.get (url) .json ()" des Codes enthalten ist, bevor er verwendet wird. Es ist ein Ziel.
Die Verwendung des Wörterbuchtyps wird in den API-Spezifikationen beschrieben.
http://weather.livedoor.com/weather_hacks/webservice
Zunächst heißt es, dass Sie den "Titel / die Überschrift" erhalten können, indem Sie im Wörterbuchtyp "title" angeben.
print('Titel:', tenki_data['title'])
Wenn Sie als Nächstes "Vorhersagen" angeben, können Sie die "Wettervorhersage für jedes Prognosedatum" abrufen. Es erfordert jedoch eine etwas komplizierte Prozedur, die dem JSON-Format eigen ist. Lassen Sie uns also den Fluss zusammenhalten.
print(tenki_data['forecasts'])
Wenn "Prognosen" angegeben wird, wird zunächst der Listentyp mit dem ersten und dem letzten in "[]" eingeschlossen angezeigt.
Sie können erwarten, hier gemäß den Daten, die Sie erfassen möchten, "Heute:[0]
, Morgen:[1]
, Übermorgen [2]
"anzugeben.
#Geben Sie "Heute" -Daten an
print(tenki_data['forecasts'][0])
Es war ziemlich erfrischend. Wenn Sie an diesem Punkt angelangt sind, können Sie die gewünschten Daten entsprechend Ihrem Zweck abrufen. Zeigen wir diesmal "Prognosedatum: dataLabel
, Wetter: telop
" an.
#Vorhersagedatum
print('Vorhersagedatum:', tenki_data['forecasts'][0]['dateLabel'])
#Wetter
print('Wetter:', tenki_data['forecasts'][0]['telop'])
Auf diese Weise wird eine Reihe von Schritten der "API-Spezifikation Check-Request-Response" ausgeführt. Sie können verschiedene andere Informationen erhalten. Probieren Sie daher verschiedene Dinge aus, indem Sie sich auf die API-Spezifikationen beziehen.
Der Punkt, dass die Verwendung der API je nach Dienst unterschiedlich ist, ist sehr problematisch. Wenn Sie jedoch der Meinung sind, dass diesmal die folgenden APIs verwendet werden, können Sie die meisten APIs beherrschen.
** Informationen zur Verwendung der API erforderlich **
** Bestätigungsverfahren **
Dies ist das Ende von "Wie die API funktioniert und wie sie verwendet wird". Ich hoffe, es werden nützliche Informationen für Ihre Entwicklung sein.
~~ Außerdem machen wir am Ende des Satzes für eine begrenzte Zeit "** Team Development Experience Project **". ~~ ~~ Wenn Sie interessiert sind, überprüfen Sie bitte [Application Sheet] für Details. ~~ (Zusatz) Die Frist wurde geschlossen, weil sie voll ist. Das nächste Mal ist für März 2019 geplant. Wenn Sie also informiert werden möchten, füllen Sie bitte das [[Reservierungsformular]] aus (https://forms.gle/62troSMPQv8wLitQ8).
So bedienen Sie das von der Antwort zurückgegebene Antwortobjekt
Wenn die Antwort eine Audiodatei ist, speichern Sie sie im WAVE-Format mit dem folgenden Code.
response = requests.post(API_Endpoint, data=json.dumps(body), headers=headers)
with open('response.wav', 'wb') as saveFile:
saveFile.write(response.content)
Recommended Posts