2012-11-12 19 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密钥。如果您无法获取用户的用户标识,但您知道他/她的名字,只需转到该页面,然后在浏览器中简单检查个人资料图像,即可从中找出用户标识。

我希望它能帮助别人。