2013-01-19 20 views
5
$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX'; 
echo json_decode(file_get_contents($url))->{'followed_by'}; 

Tôi đang sử dụng mã này và tôi không hiểu vấn đề là gì. Tôi mới sử dụng PHP nên xin lỗi người mới. Tôi đang cố gắng để có được "follow_by" để hiển thị một mình. Tôi đã quản lý để có được facebook của "như" và theo dõi của Twitter để hiển thị theo cách này.Nhận thông tin cơ bản từ Instagram bằng cách sử dụng PHP

Trả lời

2

Theo số Instagram API Docs, followed_by là con của counts là con của data.

https://api.instagram.com/v1/users/1574083/?access_token=ACCESS-TOKEN 

Returns:

{ 
"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 
    } 
} 

Sau đây do đó nên làm việc.

<?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 
+0

Tôi vừa thử mã bạn đã cung cấp nhưng nó không hoạt động (tôi đã thử cả bản thân của riêng mình). Tôi thậm chí đã chắc chắn rằng api.instagram.com/xxx của tôi là hợp lệ và nó được. –

+0

@NazarAbubaker - Bạn có chắc chắn rằng access_token của bạn là chính xác - bạn tạo ra nó như thế nào? Hãy thử mã đã chỉnh sửa ở trên và cho chúng tôi biết những gì thực sự được API trả lại. – PassKit

+0

Tôi đã sử dụng quyền này để tạo access_token [link] http://jelled.com/instagram/access-token [/ link]. Lấy từ [link] http://stackoverflow.com/questions/12677551/how-to-get-access-token-from-instagram-token-using-jquery-or-php [/ link] Tất cả những gì tôi nhận được là "Cảnh báo: file_get_contents() [function.file-get-contents]: Không thể tìm thấy trình bao bọc " https " - bạn đã quên bật tính năng này khi bạn định cấu hình PHP? Trong XXX trên dòng 36" –

1

Hãy thử điều này ..

<?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; 
?> 
0

Hãy thử một trong này ...

$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; 

Click để có được tất cả thông tin về thành viên

1
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; 
} 

Đây là mã của tôi:)

14

Trong trường hợp bạn cần phải lấy số lượng người theo (hoặc các lĩnh vực khác) mà không cần đăng nhập, Instagram là đủ tốt đẹp để đặt chúng trong JSON bên trong mã nguồn trang web:

$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" 

Hy vọng rằng sẽ giúp.

24 tháng 5 năm 2016 Cập nhật để có nhiều dung sai hơn trong JSON.

+0

nó đã làm việc cho tôi. –

+0

Vẫn hoạt động cho tôi - Tháng 3 năm 2017 :-D – michaelmcgurk

+1

Sau ** giờ ** cố gắng triển khai tính năng này bằng API Instagram, tôi đã sử dụng giải pháp này. **Cảm ơn bạn**. Thiết kế và tài liệu về API tồi tệ nhất mà tôi chưa từng thấy. Bạn thậm chí phải gửi một _screencast_ giải thích những gì bạn muốn làm với API để thoát khỏi chế độ hộp cát. Tôi chỉ muốn có số người theo dõi cho bất kỳ người dùng cụ thể nào, đó là thông tin công khai. Đó là điên rồ. – Marc

Các vấn đề liên quan