Я пытаюсь использовать API Instagram, мне удалось получить изображение и его URL для размещения на экране. Однако мне было интересно, есть ли способ печати объекта JSON на экране, чтобы я мог видеть, как получить доступ к различным метаданным, связанным с изображениями. Такие вещи, как пользователь, комментарии и т. Д. Таким образом, я могу получить к ним доступ через цикл for, например $ item-> url.
Я попытался использовать print_r и var_dump, но оба создали ошибку разбора.
Спасибо!
<?php
/**
* denotes that the return data is formated as JSON rather
* than plain text, necessary for the js to read the data properly
**/
header('Content-type: application/json');
$client = "ebcfbebe699c4c35869fbbf2a63d92a6";
$query = $_POST['q'];
$api = "https://api.instagram.com/v1/tags/".$query."/media/recent?client_id=".$client;
/**
* Pulling data from the API
*
**/
function get_curl($url) {
if (function_exists('curl_init')) {
// first initialise
$ch = curl_init();
// set the options including the URL
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
// next execute and fetch the result
$output = curl_exec($ch);
// error reporting
echo curl_error($ch);
// free up the cURL handle
curl_close($ch);
return $output;
}
// if cURL not installed, simply use file_get_contents to retrieve data from URL
else {
return file_get_contents($url);
}
}
// pull the data from the get_curl function and store in $response
$response = get_curl($api);/**
* Oraganising and returning the data
*
*/
// create an array for the instagram images
$images = array();
if ($response) {
// foreach loop to pull out JSON data objects one by one
// the values we need $src. $thumb and $url
foreach(json_decode($response)->data as $item) {
$src = $item->images->standard_resolution->url;
$thumb = $item->images->thumbnail->url;
$url = $item->link;
$images[] = array(
"src" => htmlspecialchars($src),
"thumb" => htmlspecialchars($thumb),
"url" => htmlspecialchars($url),
);
}
}
print_r(str_replace('\\/','/', json_encode($images)));
die();
?>
print_r (json_decode ($ response)) должен это сделать.
Каков вывод ошибки, которую вы видите?
Других решений пока нет …