
Terza ed ultima parte della miniserie realizzata da Camu: dopo averci introdotti agli Hook di WordPress e alle API di Twitter, è giunto il momento di mescolare bene gli ingredienti.
Ora che abbiamo a disposizione tutti gli strumenti, non rimane che metterli insieme per realizzare il plugin che scrive automaticamente sul canale Twitter.
Vorrei precisare che quanto sto per dire vale per qualsiasi altro servizio che metta a disposizione le proprie API: Facebook, Google, Technorati e FriendFeed sono solo alcuni esempi. E non è detto che si debba usare un servizio soltanto alla volta: il plugin che ho realizzato per il mio blog, ad esempio, fa anche da “passacarte”: legge una fonte RSS definita da me (ad esempio Il Corriere della Sera) e posta i titoli delle notizie sul mio canale Twitter, al verificarsi di certe condizioni.
Altri hanno scritto plugin che, usando lo stesso meccanismo, prendono i commenti su FriendFeed e li ripubblicano sul blog, per tenere intatto il filo della discussione. Per non complicare il codice, ho omesso questa parte nel seguito.
A differenza dell’esempio visto la scorsa settimana, il plugin che segue usa la libreria cURL di PHP per interagire con Twitter: alcune funzioni richiedono infatti l’autenticazione per motivi di sicurezza (solo io devo essere in grado di postare sul mio canale Twitter, ti pare?).
Ma, tecnicismi a parte, il concetto di fondo non cambia: si fa una richiesta (nello specifico “aggiungi un nuovo messaggio al mio canale”) e si riceve una risposta in XML (che sarà del tipo “ok, fatto” oppure “huston, abbiamo un problema” a seconda dei casi):
if (!function_exists(curl_init)) {
return 1; // Errore 1: Curl non installato
}
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
if (!empty($username) && !empty($password))
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
if ($method == 'POST') {
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $vars);
}
$data = curl_exec($ch);
$response = curl_getinfo($ch);
if ( (intval($response['http_code']) == 200) && !empty($data) ) {
curl_close($ch);
return $data;
}
return $response['http_code']; // Qualcosa è andato storto nella richiesta
}
Scriviamo quindi il plugin che, quando scrivo un nuovo post sul blog, pubblica il titolo e la URL su Twitter.
Il sorgente in PHP puoi scaricarlo qui di seguito: è un codice rudimentale, che puoi decidere di provare sul tuo blog. Ma ricorda di inserire la tua login e password di Twitter, altrimenti non funziona.
Twitter Update (1,8 KiB) - scaricato 161 volte
2 Commenti












Adoro le immagini che riesci ad associare ai post
Ehehe, ci metto ore per cercarle o per comporle (come questa o quella del “gancio”)