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



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

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

知道我可能做错了什么吗?

谢谢

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的API控制台测试您的通话。这样,您可以查看每次调用返回的数据,以便正确访问它。

我知道

这是一个古老的问题,但它可能会帮助其他人。

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

我希望它能帮助其他人。

最新更新