8
$url = 'https://api.instagram.com/v1/users/XXXX?access_token=XXXX';
echo json_decode(file_get_contents($url))->{'followed_by'};

このコードを使用していますが、何が問題なのかわかりません。私はPHPが初めてなので、初心者の間違いを許してください。「followed_by」を単独で表示しようとしています。Facebookの「いいね」とTwitterのフォロワーをこのように表示させることができました。

4

5 に答える 5

29

ログインせずにフォロワー数 (またはその他のフィールド) を取得する必要がある場合、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_」プレフィックスを使用するように更新しました。

于 2016-02-11T08:17:05.260 に答える
2

これを試して..

<?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;
?>
于 2015-02-26T02:21:01.700 に答える
2

Instagram API Docsによると、はfollowed_bycounts子です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
于 2013-01-19T12:58:55.177 に答える
1
function get_https_content($url=NULL,$method="GET"){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0');
    curl_setopt($ch, CURLOPT_URL,$url);
    return curl_exec($ch);
}

function ig_count($username) {
    return json_decode(get_https_content("https://api.instagram.com/v1/users/1460891826/?client_id=ea69458ef6a34f13949b99e84d79ccf2"))->data->counts->followed_by;
}

これが私のコードです:)

于 2015-08-04T14:46:02.397 に答える
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;

クリックしてユーザーのすべての情報を取得します

于 2015-07-30T12:03:11.430 に答える