Mit PHP auf API zugreifen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
ausgeben
aussehen
code
dank
datei
einzelnen daten
folgende meldung
hilfe
http
klappen
null
offset
program files
spiel
stehen
test
url
versuchen
zugreifen
-
Hallo zusammen,
ich möchte auf meiner Homepage meine zuletzt gespielten Spiele von dem Spiel "League of Legends" ausgeben und habe dafür folgende API gefunden:
http://api.captainteemo.com/player/euw/Test/recent_games
Wie kann ich mit PHP auf die einzelnen Daten der API zugreifen?
Hab sowas leider noch nie gemacht und kenn mich damit nicht aus. Den Link habe ich von einem Admin eines englischen Forums bekommen und bevor ich versuche dem mein Anliegen auf Englisch vorzutragen, wollte ich es erst einmal hier versuchen.
Ich freue mich über Hilfe.
Liebe Grüße
Beitrag zuletzt geändert: 15.4.2013 21:11:23 von ultimate-bravery -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
ultimate-bravery schrieb:
Er meint vermutlich das »Test« in der URL…
Derjenige, der mir den Link geschickt hat, meinte, dass ich "test" nur mit meinem Namen austauschen müsste. Aber dafür muss ich den Code ja abspeichern, ändern und neu hochladen oder?
ultimate-bravery schrieb:
In gar keine
In was für eine Datei kommt das denn dann?
ultimate-bravery schrieb:
Indem du die Datei mit cURL o.ä. herunterlädst und mit
Und wie kann ich mit PHP auf die einzelnen Daten der API zugreifen?
decodierst. Ein Beispiel gibt es sogar in der Hilfe.json_decode()
-
Ok danke, ja das mit dem Test hab ich gerade auch bemerkt, deswegen habe ich meinen Beitrag gerade oben wieder editiert.
Muss das etwa so aussehen?
$json_file = @file_get_contents("http://api.captainteemo.com/player/euw/Test/recent_games", 0, null, null); $json_array = json_decode($json_file, true);
Wie würde dann das "echo" aussehen?
Beitrag zuletzt geändert: 15.4.2013 21:15:42 von ultimate-bravery -
ultimate-bravery schrieb:
So kann es aussehen, wobei es so reichen würde:
Muss das etwa so aussehen?$json_file = @file_get_contents('http://api.captainteemo.com/player/euw/Test/recent_games'); $json_array = json_decode($json_file);
Also ohne den Parametern.
Testen kannst du das mitprint_r($json_array);
Willst du z.B. auf die Account-ID zugreifen (irgendwo ganz oben in dem Dokument) sieht das ca. so aus:$accountId = $json_arary->player->accountId;
-
Super, danke! Funktioniert. Wie muss ich es machen, wenn ich auf ein Wert in einem Array aus der API zugreifen will? Oder wenn ich das ganze array ausgeben will?
-
ultimate-bravery schrieb:
So wie du es normalerweise bei Arrays und Objekten machen würdest, denn dein
Wie muss ich es machen, wenn ich auf ein Wert in einem Array aus der API zugreifen will? Oder wenn ich das ganze array ausgeben will?
ist nichts anderes.$json_array
-
Ok habs soweit hinbekommen danke. Allerdings stimmt da grad irgendetwas nicht. In der API stehen meine letzten 10 Spiele. Die stehen im ersten Array, was geöffnet wird, also nach "gameStatistic". Die Spiele will ich mir gerade erstmal grob ausgeben. Dafür hab ich den Code:
for($i = 0; $i < 10; $i++){ $game = $json_array->data->gameStatistics->array[$i]; print_r($game); echo "<hr>"; }
Die ersten 8 Spiele werden ausgegeben, bei den letzten beiden kommt allerdings folgende Meldung:
Notice: Undefined offset: 8/9 in C:\Program Files (x86)\EasyPHP-12.1\www\wordpress\test.php on line 7
Aber eigentlich müsste es doch klappen, da in dem Array in der API 10 Einträge sind. -
ultimate-bravery schrieb:
Bei deinem Demolink sehe ich nur 8 Einträge, das würde die Fehlermeldung erklären. Du solltest aber bei der Bedingung statt 10 besser
Die ersten 8 Spiele werden ausgegeben, bei den letzten beiden kommt allerdings folgende Meldung:Notice: Undefined offset: 8/9 in C:\Program Files (x86)\EasyPHP-12.1\www\wordpress\test.php on line 7
Aber eigentlich müsste es doch klappen, da in dem Array in der API 10 Einträge sind.
verwenden, dann kann dir so ein Fehler gar nicht passieren.count()
Aber mittlerweile sind das wohl kaum mehr Probleme mit der API als vielmehr mit PHP selbst
Beitrag zuletzt geändert: 15.4.2013 22:16:49 von hackyourlife -
Oh ja danke. In der API mit dem User "Test" waren es nur 8 Einträge, bei der API von meinem Account sind es aber 10. Habe die ganze Zeit in meiner API geguckt, im Code war aber noch die andere API eingetragen, deswegen war ich verwirrt.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage