10

如何使用 PHP 获取我的关注者人数。

我在这里找到了这个答案:Twitter follower count number,但它不起作用,因为 API 1.0 不再活动。

我还尝试使用此 URL 使用 API 1.1: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'];
4

2 回答 2

24

如果没有身份验证(用您的用户替换“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'];
于 2015-11-07T17:05:38.920 回答
17

Twitter API 1.0 已弃用且不再有效。使用REST 1.1 API,您需要 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;
?>

希望这可以帮助!

于 2013-07-01T16:28:07.703 回答