Utilisation de cURL pour OBTENIR des données d'api en PHP
J'ai fait une api simple point de fin à l'aide de Kimono pour tirer de l'Arkansas de la Sauvagine de Rapports et de leur poste de dates.
Je donne ci-dessous l'url de l'api de Kimono:
curl --include --request GET "http://www.kimonolabs.com/api/e45oypq8?apikey=XXXXX"
Parce que je ne suis pas familier avec la façon d'extraire des données à l'aide de cURL, je suis allé sur le web et la lecture de plusieurs articles, des tutoriels sur l'extraction de données à partir d'une api à l'aide de cURL. Je sens qu'il y a environ 1 million de façons de le faire. J'ai passé trop de temps à se cogner la tête sur le bureau. C'est ce que je suis venu avec:
<!DOCTYPE html>
<html>
<body>
<?php
$json_string = file_get_contents("http://www.kimonolabs.com/api/e45oypq8?apikey=XXX");
$parsed_json = json_decode($json_string);
$title = $parsed_json->{'results'}->{'collection1'}->{'title'};
$posted = $parsed_json->{'results'}->{'collection1'}->{'posted'};
echo "${title} \n ${posted}\n\n";
?>
</body>
</html>
L'api d'extrémité crache le suivant (tronquée pour la longueur de la question):
{
name: "agfc",
lastrunstatus: "success",
lastsuccess: "Fri Jan 17 2014 06:39:54 GMT+0000 (UTC)",
nextrun: "Sat Jan 18 2014 06:39:54 GMT+0000 (UTC)",
frequency: "daily",
newdata: true,
results: {
collection1: [
{
title: {
text: "January 8, 2014 Weekly Waterfowl Report",
href: "http://e2.ma/message/zgkue/nnlu0d"
},
posted: "1/8/2014"
}
]
}
Je veux simplement tirer toutes les données de l'api d'extrémité et 'echo' '$titre' et '$affiché " reliant à l'attribuée url('href') de chacun des points de données.
Je suis sûr qu'il y est un moyen facile de le faire. Je suis en manque de quelque chose. Merci pour votre aide.
- J'ai supprimé votre clé API à partir de la question, il ne faut JAMAIS inclure ces touches lorsque vous publiez le code.
- Merci @GeraldSchneider
Vous devez vous connecter pour publier un commentaire.
'collection1' est un tableau.
Si collection1 détient plus de 1 élément que vous avez à parcourir en boucle.
<?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.kimonolabs.com/api/e45oypq8?apikey=XXXXX"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $parsed_json = curl_exec($ch); $parsed_json = json_decode($parsed_json); foreach ($parsed_json->{'results'}->{'collection1'} as $item) { $title = $item->title->text; $link_address = $item->title->href; $posted = $item->posted; echo "<a href='$link_address'> $title </a>" . '<br>'; echo $posted . '<br><hr><br>'; } ?>
Juste essayer:
un chemin à l'aide de curl
un autre que vous n'avez