2013-07-01 30 views
8

Cách nhận số người theo dõi của tôi bằng PHP.Số người theo dõi trong Twitter

Tôi tìm thấy câu trả lời ở đây: Twitter follower count number, nhưng nó không hoạt động vì API 1.0 không còn hoạt động nữa.

Tôi cũng đã thử với API 1.1 bằng URL này: https://api.twitter.com/1.1/users/lookup.json?screen_name=google nhưng đang hiển thị lỗi (Dữ liệu xác thực không hợp lệ).

Đây là mã của tôi:

$data = json_decode(file_get_contents('http://api.twitter.com/1.1/users/lookup.json?screen_name=google'), true); 
echo $data[0]['followers_count']; 
+2

Bạn cần phải sử dụng một kết nối oauth bây giờ với v1.1 – Novocaine

+0

Và làm thế nào Tôi có thể sử dụng nó không? – Enve

Trả lời

13

Twitter API 1.0 bị phản đối và không còn hoạt động. Với REST 1.1 API, bạn cần xác thực oAuth để truy xuất dữ liệu từ Twitter.

Sử dụng này để thay thế:

<?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; 
?> 

Phân tích XML có thể được dễ dàng hơn trong một số trường hợp.

Dưới đây là một giải pháp (thử nghiệm):

<?php 
$xml = new SimpleXMLElement(urlencode(strip_tags('https://twitter.com/users/google.xml')), null, true); 
echo "Follower count: ".$xml->followers_count; 
?> 

Hope this helps!

+0

lỗi đánh máy nhỏ, thiếu một trích dẫn sau * thay thế cho tôi * – Novocaine

+0

@ Novocaine88: Cảm ơn. Đã sửa lỗi :) –

+0

Cảm ơn bạn, nhưng tôi đã tìm thấy https://twitter.com/users/show/google này. Có bất kỳ mã PHP ngắn nào để chỉ nhận số người theo dõi không? – Enve

14

Nếu làm điều đó mà không auth (thay thế 'stackoverflow' với người dùng của bạn)

$.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']); 
}); 

với 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']; 
+1

Câu trả lời này là tốt nhất nếu bạn chỉ cần số người theo dõi/dữ liệu đơn giản mà không có auth! Xuất sắc! Chỉnh sửa: tuy nhiên không được hỗ trợ bởi twitter - có thể thay đổi mà không cần thông báo. – mkabatek

Các vấn đề liên quan