Instagram GET / users / user-id不返回任何数据?

时间:2012-11-12 23:44:02

标签: php api json instagram endpoints

我正在尝试显示我的帐户在我的php页面中的关注者数量,并且出于某种原因我尝试使用https://api.instagram.com/v1/users/ {$ userid} / follow?access_token = {$ accessToken} fetchData line ,我没有得到任何信息。

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

知道我可能做错了吗?

由于

2 个答案:

答案 0 :(得分: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测试来电。这样您就可以看到每个调用返回的数据,以便您可以正确访问它。

答案 1 :(得分: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密钥。如果您无法获得用户的用户ID,但是您知道他/她的名字只是转到页面并只是在浏览器中检查配置文件图像,您将从那里找出用户ID。

我希望它会帮助其他人。