Erhalten und schreiben Sie alle paginierten Daten in einer Datei über die PHP-API cURL in einer Schleife
<p>Als Neuling in der Erstellung von API-Anfragen und der entsprechenden Codierung würde ich gerne dabei helfen, den entsprechenden Code zu schreiben, um eine Schleife auszuführen, den Cursor auf die nächste Seite zu bewegen und alle Daten zurückzugeben, bis keine Seiten mehr vorhanden sind. Mein ursprünglicher Code erhält die erste Seite mit 50 Ergebnissen ohne Schleife. Ich brauche nur Hilfe beim Schreiben einer richtigen Schleife. </p>
<p>Der ursprüngliche Code lautet wie folgt. Es funktioniert gut, die erste Ergebnisseite zu erhalten. Ich gebe die Ergebnisse nur zum Testen auf dem Bildschirm aus, um zu sehen, wie die Ausgabe aussieht. Der Code enthält keine Fehlerbehandlung. </p>
<p><strong>Ich muss eine Schleife in meinen Code einfügen, bis hasMore false ist, und dann die Daten in meine Datei schreiben/anhängen. </strong></p>
<p>Aus der API-Dokumentation geht hervor, dass ich den Cursor wie folgt bewegen und zur nächsten Seite gelangen kann.
Dieser Endpunkt führt die Paginierung über den Cursor durch. Das pageInfo-Attribut enthält Informationen darüber, ob weitere Ergebnisse vorliegen: {"cursor": "Mg", "hasMore": true}. Wenn hasMore wahr ist, kann der Cursor als Teil der Abfragezeichenfolge an die nächste API-Anfrage übergeben werden, um die nächste Ergebnisseite zu erhalten, z. B. ?cursor=Mg. </p>
<pre class="brush:php;toolbar:false;"><?php
$url = "myURL/incoming/v2/content";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array(
„Akzeptieren: application/json“,
„Autorisierung: Inhaberschlüssel“,
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//Nur zum Debuggen!
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);
file_put_contents('CURL-CONTENT.txt', $resp);
?></pre></p>