我正在尝试显示我的帐户在我的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;
}
?>
知道我可能做错了吗?
由于
答案 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。
我希望它会帮助其他人。