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
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
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 . ';
2 comments
Decadeweb
24 Luglio 2013 at 21:12
Ciao,
Il twitter restituisce del semplice testo come posso sostituire “l’url” con il tag a e trasformarlo cosi in url reale?
Grazie
Mario Concina
25 Luglio 2013 at 14:45
Ciao,
basta inserire la url come parametro all’interno di codice html, esempio: