2

我试图在我的 php 页面中显示我的帐户的关注者数量,并且由于某种原因,当我尝试使用https://api.instagram.com/v1/users/ {$userid}/follows?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;
    }
?>   

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

谢谢

4

2 回答 2

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

于 2012-11-13T17:04:32.850 回答
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。

我希望它会帮助别人。

于 2014-10-16T04:30:00.073 回答