Ultimi tweet sul proprio sito

Ultimi tweet sul proprio sito

4930
2
CONDIVIDI

In questo articolo imparerete ad aggiungere gli ultimi tweet sul proprio sito (PHP). Da pochissimo Twitter ha cambiato la politica delle API, per cui chi fino ad ora ha pescato i propri tweet attraverso il metodo getJSON di jQuery con una api url fornita da twitter oggi non può più farlo:

https://api.twitter.com/1/statuses/user_timeline/mari0bros.json

twitter-oauth Esistono tuttora due modi per effettuare questa operazione, la prima (più semplice) permette di inserire uno stream di “cinguettii” attraverso i Widget, la semplicità di utilizzo è uno dei vantaggi mentre la possibilità di non poter customizzare a fondo il widget rappresenta un grosso svantaggio per chi ha più pretese. Agganciandomi a questo discorso, il secondo metodo è quello che fa al caso di chi vuole spingersi oltre con le personalizzazioni grafiche ed avere piena libertà di layout, ed è questa che oggi approfondiremo.

Accenno alle API di Twitter

Questo articolo è stato scritto basandosi sulla versione 1.1 di Twitter OAuth API. In sostanza OAuth è un protocollo di autenticazione che consente agli utenti di approvare l’applicazione senza condividere la loro password. Per chi volesse approfondire il discorso può farsi un giro sulla pagina ufficiale di OAuth.

Come inserire gli ultimi tweet sul sito

Se avete avuto già a che fare con le APP di Facebook il meccanismo è più o meno lo stesso:

Primo passo: creare l’applicazione

oauth-twitter-api Collegandovi all’area sviluppatori https://dev.twitter.com/apps cliccate su “Create a new application”;
Cosi facendo compilerete dei campi che richiedono il nome dell’applicazione, la descrizione, il sito web sulla quale deve essere installata ed eventualmente un URL di ritorno (opzionale);
Creata l’applicazione il sistema vi fornirà dei parametri univoci che dovete memorizzare ed utilizzare all’interno delle vostre pagine web:

  • Consumer key
  • Consumer secret
  • Access token
  • Access token secret

Inserimento tweet feed sul sito

Potete scaricare dal seguente indirizzo https://github.com/abraham/twitteroauth la libreria che vi garantirà l’autenticazione di base e vi farà risparmiare tempo prezioso.
Appena inclusa nel progetto possiamo passare alla fase finale: copiate il codice sottostante ricordandovi di cambiare tutti i parametri precedentemente descritti (token, consumer key e username)

require_once("twitteroauth-master/twitteroauth/twitteroauth.php"); //Path to twitteroauth library
$twitteruser = "mari0bros";
$notweets = 6;
$consumerkey = "";
$consumersecret = "";
$accesstoken = "";
$accesstokensecret = "";
         
function getConnectionWithAccessToken($cons_key, $cons_secret, $oauth_token, $oauth_token_secret) {
     $connection = new TwitterOAuth($cons_key, $cons_secret, $oauth_token, $oauth_token_secret);
     return $connection;
}
         
$connection = getConnectionWithAccessToken($consumerkey, $consumersecret, $accesstoken, $accesstokensecret);
         
$tweets = $connection->get("https://api.twitter.com/1.1/statuses/user_timeline.json?screen_name=".$twitteruser."&count=".$notweets);

Il risultato fornito è un oggetto che potete gestire in mille modi, per esempio stampando una lista dei primi 6 tweet:

echo '
    '; $cont = 0; while($tweets) { echo '
  • ' . $tweets[$cont]->text . '
  • '; $cont ++; } echo '
';

equivalente di:

echo '
    '; echo '
  • ' . $tweets[0]->text . '
  • '; echo '
  • ' . $tweets[1]->text . '
  • '; echo '
  • ' . $tweets[2]->text . '
  • '; echo '
  • ' . $tweets[3]->text . '
  • '; echo '
  • ' . $tweets[4]->text . '
  • '; echo '
  • ' . $tweets[5]->text . '
  • '; echo '
';

Restituendo un oggetto, il metodo “text” è solo uno dei tanti che potete sfruttare, una tabella riassuntiva potrebbe tornarvi utile:

Metodo Descrizione
created_at Fornisce la data di creazione del tweet
id id univoco del tweet (formato decimale)
id_str id univoco del tweet (formato stringa)
text Testo del tweet
source La provenienza del tweet (se da un tweet button, o altre fonti)
in_reply_to_status_id specifica se il tweet postato è una risposta ad un altro tweet
user Nome utente
screen_name Nome visualizzato su twitter
location Località
description Descrizione
url Url personale

Ottenendo praticamnte tutte le informazioni possiamo completare il nostro lavoro stampando un tweet più completo:

echo 'Scritto il: ' . $tweets[0]->text$tweets[0]->created_at . ' .
     'da: ' . $tweets[0]->text$tweets[0]->screen_name . ' .
     'testo: ' . $tweets[0]->text$tweets[0]->text . ';