Obtenez et écrivez toutes les données paginées dans un fichier via l'API PHP cURL en boucle
<p>En tant que débutant dans la création de requêtes API et le codage approprié, j'aimerais avoir de l'aide pour écrire le code approprié à boucler, déplacer le curseur vers la page suivante et renvoyer toutes les données jusqu'à ce qu'il n'y ait plus de pages. Mon code initial obtient la première page de 50 résultats sans boucle. J'ai juste besoin d'aide pour écrire une boucle appropriée. </p>
<p>Le code initial est le suivant. Cela fonctionne bien pour obtenir la première page de résultats. J'affiche les résultats à l'écran juste pour tester pour voir quel est le résultat. Il n'y a aucune gestion des erreurs dans le code. </p>
<p><strong>Je dois ajouter une boucle dans mon code jusqu'à ce que hasMore soit faux, puis écrire/ajouter les données à mon fichier. </strong></p>
<p>La documentation de l'API indique que je peux déplacer le curseur et obtenir la page suivante de la manière suivante.
Ce point de terminaison effectue la pagination via le curseur. L'attribut pageInfo contiendra des informations indiquant s'il y a plus de résultats : {"cursor": "Mg", "hasMore": true}. Si hasMore est vrai, le curseur peut être transmis à la requête API suivante dans le cadre de la chaîne de requête pour obtenir la page de résultats suivante, par exemple ?cursor=Mg. </p>
<pre class="brush:php;toolbar:false;"><?php
$url = "monURL/incoming/v2/content" ;
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$en-têtes = tableau(
"Accepter : application/json",
"Autorisation : Clé au porteur",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
//pour le débogage uniquement !
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>