2012-06-22 3 views
1

Я запускаю php-сайт и хотел бы вытащить последний твит из моих компаний twitter feed. Ниже приведен код, который у меня есть, но в настоящее время он не работает. Что я сделал не так? Нужно ли менять настройки в Twitter, чтобы этот метод работал?Получите Twitter Feed используя Json

$responseJson = file_get_contents('http://api.twitter.com/1/statuses/user_timeline.json?screen_name=take_me_fishing&include_rts=1&count=1'); 

if ($responseJson) 
{ 
    $response = json_decode($responseJson);     
    $status = $response->text; 
} 
+1

Что значит «не работает» имею в виду? Что происходит? Код выглядит отлично. Может быть, 'file_get_contents' не работает, потому что директива в' php.ini' препятствует чтению данных по сети? –

+0

Вам не нужно ничего менять в настройках Twitter. Попробуйте открыть URL-адрес в своем браузере. Оно работает. В вашем PHP-коде должно быть что-то не так. – simbabque

+0

спасибо за быстрый ответ всем! Оказывается, это было так же просто, как отсутствие скобок массива. –

ответ

0

Значение $response представляет собой массив объектов. Поскольку вы только получили последний, вы хотите получить доступ к первому элементу в этом массиве. Для того, чтобы получить доступ к «текст» свойство первого элемента, изменить код следующим образом:

if ($responseJson) { 
    $response = json_decode($responseJson); 
    $status = $response[0]->text; 
} 

print $status; // The tweet. 

Обратите внимание, что когда вы print_r($response) вы увидите следующую структуру:

Array 
(
    [0] => stdClass Object 
    (
     [created_at] => Fri Jun 22 15:00:34 +0000 2012 
     [id] => 216183907643699200 
     [id_str] => 216183907643699200 
     [text] => Help us determine the Top 8 State Parks for boating and fishing: 
       http://t.co/SQEzWpru #takemefishing 
     ... rest of the tweet object ... 
Смежные вопросы