我试图在我的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。
我希望它能帮助其他人。