Google Places API : next_page_token Fehler
Ich bin das sammeln von Informationen über die Lage des stores.
Die Suche ist:
<?php
...
$url='https://maps.googleapis.com/maps/api/place/search/json?key=[my_key]&location=40.420989,-3.706812&radius=1000030&=&sensor=false';
$body=file_get_contents($url);
...
?>
Ich wieder ein Json-ohne Probleme, und zeigt an, dass es eine andere Seite der Ergebnisse.
Ich werde zurück sein, um einen anderen Anruf wie folgt
<?php
...
$url2='https://maps.googleapis.com/maps/api/place/search/json?key=[my_key]&pagetoken=ClREAAAAQXKNHPVGCkTC_MdjSqi2T0KBDMWjEu4KF1Ylw1761Po-67AnNSp4zw0wXD4oocGpx4olSl4k2LyklJBl3mBF4VPmxp3IoOCHDRlXVmivaDsSEBuG_V1GvCH1gS5s0LCuy3EaFNXxUzzHhZ5ZRYNfeGHuqewR6Zk7&sensor=false';
$body=file_get_contents($url2);
...
?>
Wenn ich es mit dem zweiten Aufruf bekomme ich eine Fehlermeldung
'status' -> INVALID_REQUEST
Aber wenn ich paste die ulr2 browser in das Ergebnis korrekt ist.
Wie ich es beheben kann?
Dank
- haben Sie herausgefunden, hte problem, es gibt auch mir-Anforderung verweigert-Fehler
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es hat etwas mit dem Zeitpunkt zu tun zwischen den Anforderungen, wenn Sie Sie ausführen sofort eine nach der anderen, die pagetoken ist nicht gültig, doch müssen Sie warten ein paar Sekunden zwischen aufeinander folgenden Anfragen.
Dies ist, weil google die Lizenzbedingungen nicht zulassen, Sie zu Holen alle Ergebnisse auf einmal und kehren Sie alle auf einmal für den Benutzer. Sollten Sie über eine Benutzer-Aktion zu Fragen, für weitere Ergebnisse, die fügt eine Verzögerung von ein paar Sekunden.
sleep(2) zwischen den Anfragen wird das problem lösen
Schlafen(1.3) ist die kürzeste Zeit, die schien zu funktionieren. In anderen Worten, die nächste Seite-token wird aktiv, etwa 1,3 Sekunden, nachdem er wieder in den vorherigen API-Anfrage.
Versuchen Sie bitte folgenden code habe ich verwendet, Schlaf(2) - Funktion für das delay zwischen den Anforderungen, denn neben pagetoken muss überprüft werden auf google-server.
Sie können auch mithilfe von Schleifen zu entfernen code repetation.
//deine Abfrage hier
//api-key hier
//api-Aufruf-code
Die erste Abfrage generieren Seite 2 token.
Fügen Sie einfach "&pagetoken=tokenvalue" in Ihrer uri.
Sicher, dass es funktioniert. Keine alternative, option.