2012-11-12 24 views
2

我試圖顯示我的帳戶在我的php頁面中有多少追隨者,並且出於某種原因,當我嘗試使用https://api.instagram.com/v1/users/ {$ userid}/follow?access_token = {$ accessToken} fetchData行時,我沒有收到任何信息。Instagram GET/users/user-id不返回任何數據?

<?php  

    $userinfo = fetchData("https://api.instagram.com/v1/users/{$userid}/follows?access_token={$accessToken}"); 
    $userinfo = json_decode($userinfo); 


    foreach($userinfo->data as $profile) { 
     $followers = $profile->counts->follow_by; 
     echo "Followed by: ".$followers; 
    } 
?> 

但是,如果使用相同的代碼具有不同的端點命令並調用不同的數據,它的偉大工程(如下圖所示)

<?php  

    $userinfo = fetchData("https://api.instagram.com/v1/users/self/feed?access_token={$accessToken}"); 
    $userinfo = json_decode($userinfo); 


    foreach($userinfo->data as $profile) { 
     $followers = $profile->likes->count; 
     echo "Followed by: ".$followers; 
    } 
?> 

任何想法,我可能是做錯了什麼?

感謝

回答

1

users/{userid}/follows端點不會返回您的個人資料的任何數據。它只會返回一個用戶配置文件數組您遵循

最快的方式的方式來訪問你的追隨者數是使用users/{userid}端點:

$userinfo = fetchData("https://api.instagram.com/v1/users/YOUR_USER_ID?access_token=YOUR_ACCESS_TOKEN"); 
$userinfo = json_decode($userinfo); 

$followers = $userinfo['data']['counts']['followed_by']; 

echo "Folled by: " . $followers . " people"; 

而且,以供將來參考,我強烈建議你使用Instagram's API Console測試您的來電。這樣您就可以看到每次調用返回的數據,以便您可以正確訪問它。

+0

感謝您的建議。我認爲我真正需要的鏈接是'$ followers = $ userinfo ['data'] ['counts'] ['followed_by'];'。我改變了,然後添加了「真實」的輸入,它一切正常!感謝'$ userinfo = json_decode($ userinfo);' – Joffroi

+0

我想獲得用戶數組,但由於某種原因,它不會返回任何數據:''{「pagination」:{},meta:{「代碼 「:200},」 數據「:[]}'''。關於如何獲得跟隨我的用戶數組的任何想法? – wxcoder

0

我知道它的一個老問題,但它可能會幫助其他人。

$api_key = 'YOR_API_KEY'; 
$user_id = 'XXX'; 
$data = @file_get_contents("https://api.instagram.com/v1/users/$user_id/?client_id=$api_key"); 
$data = json_decode($data, true); 
echo $data['data']['counts']['followed_by']; 
//echo '<pre/>'; 
//print_r($data); 

這不需要訪問令牌其唯一所需的API密鑰。如果您無法獲取用戶的用戶標識,但您知道他/她的名字,只需轉到該頁面,然後在瀏覽器中簡單檢查個人資料圖像,即可從中找出用戶標識。

我希望它能幫助別人。