Dawno, dawno temu zadanie było to bardzo proste. Wystarczyło pobrać Tweety z danego URLa – były serwowane jako feed JSON albo XML. Teraz niestety wszystko jest odrobinę bardziej skomplikowane.
Po pierwsze musisz wygenerować sobie kilka magicznych ustawień związanych z autoryzacją OAuth – którą Twitter jakiś czas temu wprowadził, żeby utrudnić życie biednym developerem. Jak to zrobić – udać się na stronę dev.twitter.com i klikać tak długo aż uzyskasz „Consumer key”, „Consumer secret” a zaraz potem „Access token”, „Access token secret”. Tyle potrzebujemy ze strony Twittera.
Następnym krokiem będzie pobranie biblioteki twitter-api-php. Biblioteka ta może działać niezależnie, ale my wrzucimy ją do foldera application/libraries. Potem można z niej korzystać już normalnie w kontrolerach.
Ładujemy bibliotekę i wstawiamy do niej dane uzyskane wcześniej z Twittera
require_once APPPATH . 'libraries/TwitterAPIExchange.php';
$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"
);
Teraz możesz wybrać sobie dowolny endpoint ze strony Tweetera – https://dev.twitter.com/docs/api/1.1 i np. pobrać listę tweetów danego usera:
$url = 'https://api.twitter.com/1.1/statuses/user_timeline.json';
$getfield = '?screen_name=slavomirj';
$requestMethod = 'GET';
$twitter = new TwitterAPIExchange($settings);
$tweets = $twitter->setGetfield($getfield)->buildOauth($url, $requestMethod)
->performRequest();
Wynik zwracany jest jako string, więc warto go przekonwertować do odpowiedniego formatu za pomocą
$this->data['tweets'] = json_decode($tweets);