Das console.log einfügen, damit wir die Response in der Console sehen.
apikey schützen
-
-
-
achso ok
-
Auf einmal funktioniert es Danke!
-
Das ist ja jetzt mysteriös, dass es auf einmal funktioniert, ohne dass wir etwas wesentliches geändert haben. Aber OK.
BTW finde ich deine Frage, den API-Key zu verbergen, berechtigt. Ich habe mich häufig gefragt, warum man eine API mit einem Key absichert, wenn jeder ihn im Browser aus dem Javascript ablesen kann.
-
Noch mal zu der Frage, warum es auf einmal funktioniert: Hast Du das Javascript auch nach dem HTML stehen, in das die Werte eingefügt werden?
-
BTW finde ich deine Frage, den API-Key zu verbergen, berechtigt. Ich habe mich häufig gefragt, warum man eine API mit einem Key absichert, wenn jeder ihn im Browser aus dem Javascript ablesen kann.
Das stimmt.
Aber bei den meisten Api-Keys ( nicht alle Schade ) wird ja auch der Host abgefragt.
Zumindest bei den meisten.
Zb die ganzen Google Apis laufen ja auch nur richtig wenn der Key und Host stimmt.
Wenn dann einer versucht den Key zu nutzen funktioniert es halt nicht
-
@Sempervivum Ich hätte da nach langer Zeit mal wieder eine Frage. Kann ich in der getdata.php mehrere API Keys eintragen?
-
Weiß nicht genau, wie deine Frage zu verstehen ist: Normaler Weise gibt es zu einer bestimmten API und URL einen Key. Möchtest Du mit getData.php mehrere verschiedene APIs abfragen? Das ginge, wenn Du die URL ohne Key als Parameter übergibst und dann im Skript den Key einsetzt. Oder nur eine ID als Parameter übergeben und anhand dessen aus einer Liste die URL einschl. Key holen - möglicher Weise die bessere Lösung. Einfacher wäre es aber, für jede API ein eigenes Skript zu schreiben.
-
Ja, ich möchte gerne mehrere APIs in der getdata.php abfragen
-
OK, dann empfehle ich die zweite Variante. Als ID würde ich einen "sprechenden" String empfehlen, damit Du dir keine Nummern merken musst.
Etwa "superHeroes" in deinem Beispiel. Könnte dann auf PHP-Seite so aussehen:
PHP
Alles anzeigen<?php // die URLs mit ihren IDs $urlarray =[ 'superHeroes' => 'die-url-der-API-mit-key', 'andere-id' => 'die-url-einer-anderen-API-mit-key' // usw. ]; // die URL aus der Liste auslesen if (isset($_GET['id'] && isset(urlarray[$_GET['id']]) { $theurl = urlarray[$_GET['id']]; // die API auslesen $response = file_get_contents($theurl); // und den Inhalt ausgeben echo $response; } ?>
Ungetestet. Die ID musst Du dann beim Aufruf des Skripts als GET-Parameter übergeben. Etwas komplizierter wird es, wenn Du neben dem Key noch andere Parameter übergeben musst.
-
Ok Danke
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!