$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX';
echo json_decode(file_get_contents($url))->{'followed_by'};
我正在使用此代码而我不明白这是什么问题。我是PHP的新手,所以请原谅新手的错误。我正试图让“follow_by”自行显示。我设法让Facebook的“喜欢”和推特的粉丝以这种方式展示。
答案 0 :(得分:21)
如果您需要在不登录的情况下获取关注者数量(或其他字段),Instagram就足以将其置于页面源内的JSON中:
$raw = file_get_contents('https://www.instagram.com/USERNAME'); //replace with user
preg_match('/\"edge_followed_by\"\:\s?\{\"count\"\:\s?([0-9]+)/',$raw,$m);
print intval($m[1]);
//returns "123"
希望有所帮助。
2016年5月24日已更新为更能容忍JSON中的空格。
2018年4月19日更新后使用新的“edge_”前缀。
答案 1 :(得分:2)
根据Instagram API Docs,followed_by
是counts
的孩子,是data
的孩子。
https://api.instagram.com/v1/users/1574083/?access_token=ACCESS-TOKEN
返回:
{
"data": {
"id": "1574083",
"username": "snoopdogg",
"full_name": "Snoop Dogg",
"profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
"bio": "This is my bio",
"website": "http://snoopdogg.com",
"counts": {
"media": 1320,
"follows": 420,
"followed_by": 3410
}
}
因此,以下内容应该有效。
<?php
$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX';
$api_response = file_get_contents($url);
$record = json_decode($api_response);
echo $record->data->counts->followed_by;
// if nothing is echoed try
echo '<pre>' . print_r($api_response, true) . '</pre>';
echo '<pre>' . print_r($record, true) . '</pre>';
// to see what is in the $api_response and $record object
答案 2 :(得分:1)
试试这个..
<?php
$instagram = "https://api.instagram.com/v1/users/xxxxx/?access_token=xxxxx";
$instagram_follows = json_decode(file_get_contents($instagram))->data->counts->followed_by;
echo $instagram_follows;
?>
答案 3 :(得分:1)
TryGetSyntaxTree
这是我的代码:)
答案 4 :(得分:0)
试试这个...
$url = 'https://api.instagram.com/v1/users/USER_ID?access_token=YOUR_TOKEN';
$api_response = file_get_contents($url);
$record = json_decode($api_response);
echo $followed_by = $record->data->counts->followed_by;
Click获取用户的所有信息