$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX'; echo json_decode(file_get_contents($url))->{'followed_by'};
Я использую этот код, и я не понимаю, в чем проблема. Я новичок в PHP, поэтому оправдываю ошибку новичка. Я пытаюсь получить «follow_by» для отображения самостоятельно. Мне удалось отобразить «понравившиеся» и «щебетать» facebook таким образом.
Если вам нужно захватить счетчик следования (или другие поля) без входа в систему, Instagram достаточно хорош, чтобы помещать их в JSON внутри источника страницы:
$raw = file_get_contents('https://www.instagram.com/USERNAME'); //replace with user preg_match('/\"followed_by\"\:\s?\{\"count\"\:\s?([0-9]+)/',$raw,$m); print intval($m[1]); //returns "123"
Надеюсь, это поможет.
24 мая 2016 г. Обновлен, чтобы быть более терпимым к пространству в JSON.
Согласно Документам API Instagram, follow_by является дочерним counts
которое является дочерним элементом data
.
https://api.instagram.com/v1/users/1574083/?access_token=ACCESS-TOKEN
Возвращает:
{ "data": { "id": "1574083", "username": "snoopdogg", "full_name": "Snoop Dogg", "profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg", "bio": "This is my bio", "website": "http://snoopdogg.com", "counts": { "media": 1320, "follows": 420, "followed_by": 3410 } }
Поэтому должно работать следующее.
<?php $url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX'; $api_response = file_get_contents($url); $record = json_decode($api_response); echo $record->data->counts->followed_by; // if nothing is echoed try echo '<pre>' . print_r($api_response, true) . '</pre>'; echo '<pre>' . print_r($record, true) . '</pre>'; // to see what is in the $api_response and $record object
function get_https_content($url=NULL,$method="GET"){ $ch = curl_init(); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_VERBOSE, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0'); curl_setopt($ch, CURLOPT_URL,$url); return curl_exec($ch); } function ig_count($username) { return json_decode(get_https_content("https://api.instagram.com/v1/users/1460891826/?client_id=ea69458ef6a34f13949b99e84d79ccf2"))->data->counts->followed_by; }
Вот мой код 🙂
Попробуй это..
<?php $instagram = "https://api.instagram.com/v1/users/xxxxx/?access_token=xxxxx"; $instagram_follows = json_decode(file_get_contents($instagram))->data->counts->followed_by; echo $instagram_follows; ?>
Попробуй это…
$url = 'https://api.instagram.com/v1/users/USER_ID?access_token=YOUR_TOKEN'; $api_response = file_get_contents($url); $record = json_decode($api_response); echo $followed_by = $record->data->counts->followed_by;
Нажмите, чтобы получить информацию о пользователе