Как подсчитать число моих подписчиков с помощью PHP.
Я нашел этот ответ здесь: число следящих за подписчиком Twitter , но оно не работает, потому что API 1.0 больше неактивен.
Я также пробовал использовать API 1.1 с помощью этого URL-адреса: https://api.twitter.com/1.1/users/lookup.json?screen_name=google, но отображается ошибка (данные плохой аутентификации).
Вот мой код:
$data = json_decode(file_get_contents('http://api.twitter.com/1.1/users/lookup.json?screen_name=google'), true); echo $data[0]['followers_count'];
Twitter API 1.0 устарел и больше не активен. С API REST 1.1 вам нужна аутентификация OAuth для извлечения данных из Twitter.
Используйте это вместо этого:
<?php require_once('TwitterAPIExchange.php'); //get it from https://github.com/J7mbo/twitter-api-php /** Set access tokens here - see: https://dev.twitter.com/apps/ **/ $settings = array( 'oauth_access_token' => "YOUR_OAUTH_ACCESS_TOKEN", 'oauth_access_token_secret' => "YOUR_OAUTH_ACCESS_TOKEN_SECRET", 'consumer_key' => "YOUR_CONSUMER_KEY", 'consumer_secret' => "YOUR_CONSUMER_SECRET" ); $ta_url = 'https://api.twitter.com/1.1/statuses/user_timeline.json'; $getfield = '?screen_name=REPLACE_ME'; $requestMethod = 'GET'; $twitter = new TwitterAPIExchange($settings); $follow_count=$twitter->setGetfield($getfield) ->buildOauth($ta_url, $requestMethod) ->performRequest(); $data = json_decode($follow_count, true); $followers_count=$data[0]['user']['followers_count']; echo $followers_count; ?>
В некоторых случаях анализ XML может быть проще.
Вот решение (протестировано):
<?php $xml = new SimpleXMLElement(urlencode(strip_tags('https://twitter.com/users/google.xml')), null, true); echo "Follower count: ".$xml->followers_count; ?>
Надеюсь это поможет!
Если сделать это без auth (замените «stackoverflow» на пользователя)
$.ajax({ url: "https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names=stackoverflow" dataType : 'jsonp', crossDomain : true }).done(function(data) { console.log(data[0]['followers_count']); });
с php
$tw_username = 'stackoverflow'; $data = file_get_contents('https://cdn.syndication.twimg.com/widgets/followbutton/info.json?screen_names='.$tw_username); $parsed = json_decode($data,true); $tw_followers = $parsed[0]['followers_count'];