Twitter: autenticazione alle API v1.1 tramite PHP e recupero dati JSON

Entro Marzo 2013 le istanze che si interfacciano alle API di Twitter senza autenticazione OAuth saranno bloccate. Twitter sta infatti spingendo verso l’adozione delle API versione 1.1. Vediamo dunque come utilizzare le nuove API 1.1 per visualizzare un elenco degli ultimi tweet presenti sul nostro profilo.Twitter

Come prima cosa servirà creare una applicazione dal sito per sviluppatori. Riceverete a questo punto le chiavi OAuth (pubblica, privata) e i token di accesso (pubblico, privato).

La prima parte del codice riguarda appunto l’autenticazione ai sistemi di Twitter, dovrete inserire i codici appena ricevuti e salvare il file come twitter_auth.php o qualcosa di simile. Modificare anche il valore del parametro ‘count’ con il numero di tweet che vorrete recuperare (ricordatevi di modificarlo sia nell’array di $oauth, sia in CURLOPT_URL).

A questo punto la parte relativa all’autenticazione è terminata.

Ora dobbiamo recuperare i dati ricevuti dalla risposta in formato JSON (notare il richiamo al file creato in precedenza):

Oltre a visualizzare il testo dei tweet ho inserito in basso quattro link rispettivamente per visualizzare il tweet sul sito ufficiale, rispondere, ritweettare o aggiungerlo ai preferiti.

Non vi resta che giocare con i CSS per abbellire il risultato!

Recuperare le foto di Instagram tramite le API (JSON e PHP)

Cercando in rete mi sono accorto che non esistono guide su come recuperare e visualizzare le foto di un certo profilo o di un determinato tag presenti su Instagram via PHP.
Ecco dunque un piccolo aiuto per chiunque stia cercando di ottenere lo stesso risultato visualizzabile in home page. Ecco l’intero codice, che vedremo di spiegare:

Prima di tutto dovremo impostare i parametri $user_id, $count, $width, $height, rispettivamente l’user id dell’utente di cui prelevare le foto, il numero di elementi e la larghezza e l’altezza da mostrare. Per ottenere l’access token fate riferimento alla guida per gli sviluppatori.Instagram Successivamente dovremo inserire in $cache il percorso dove andrà a finire il file di cache contenente le informazioni recuperate dalle API di Instagram. A questo punto non vi rimarrà che personalizzare il risultato in HTML agendo su $result. Io l’ho impostato in modo da funzionare con Fancybox (plugin che si occupa di creare un effetto di visualizzazione delle immagini con un popup a comparsa). Le informazioni estrapolate dalle API sono: titolo ($value->caption->text), nome del luogo di scatto ($value->location->name), longitudine e latitudine interfacciate con Google Maps ($value->location->longitude/latitude), URL del file ($value->images->low_resolution/standard_resolution->url), data di creazione in formato Unix Timestamp ($value->caption->created_time), convertita in data/ora.
Per visualizzare al posto delle foto di uno specifico utente tutte quelle che contengono un certo tag è necessario sostituire l’indirizzo contenuto in $url in modo che inizi con https://api.instagram.com/v1/tags/XXXX/media/recent (dove XXXX sta per il tag desiderato).
Buon divertimento!

TopServer: server virtuali made in Italy!

Annunciato da poco in beta pubblica, TopServer ̬ il nuovo servizio di Tophost che offre un VPS (Virtual Private Server) del tutto unmanaged. Dopo averlo provato per alcune settimane devo ammettere di esserne rimasto piacevolmente colpito. Lo consiglierei senza remore, ci sto trasferendo tutti i vari siti che gestisco (il trasloco di questo blog Рora ospitato proprio su una macchina virtuale Tophost Рne ̬ la prova)!

Specifiche tecniche e funzionamento

Partiamo dall’offerta:

    TopHost Beta Test

  • TopServer da 512 MB di RAM (43.200 TopCoin al mese)
  • TopServer da 1 GB di RAM (72.000 TopCoin al mese)
  • TopServer da 2 GB di RAM (115.200 TopCoin al mese)
  • (tutti con 20 GB di HDD e 100 Mb/s di banda)

Notiamo qualcosa di particolare, cosa sono i Topcoin? Per attivare un VPS è necessario acquistare un Voucher, dal prezzo di 5,99 euro (IVA esclusa) che corrisponde a 43200 TopCoin e che permetterà dunque di tenere acceso il TopServer di base da 512MB di RAM per un mese (il conteggio dei TopCoin è effettuato al minuto!).

Dopo aver acquistato il voucher possiamo procedere all’attivazione del server, scegliendo una fra le distribuzioni offerte:

  • Debian 6.0
  • Ubuntu 11.10
  • Centos 6.2
  • Ubuntu 12.04

A questo punto il nostro server virtuale (dopo qualche oretta per la creazione) sarà attivo! Dal pannello di controllo possiamo monitorare varie risorse attraverso grafici, utilizzare una console Java per l’accesso al terminale in SSH e comandare operazioni base quali riavvio, stop, spegnimento, ecc.

È inoltre disponibile la possibilità di creare immagini del server virtuale, funzione utile per l’upgrade a scaglioni maggiori di RAM o come backup di sicurezza prima di “interventi” importanti alla vostra macchina.


La mia esperienza

Volendo provare questo servizio come hosting per i miei siti ho scelto la versione base da 512MB con distribuzione Ubuntu 12.04. Dopo aver configurato l’hostname, aver installato Exim4 (per l’invio di mail dal VPS) e altre piccole modifiche “di base” ho iniziato a “fare sul serio”.

Su GitHub ̬ presente uno script (creato da un certo Vlad Ghinea) che permette di installare le ultime versioni di PHP5-FPM, Nginx, MySQL ed APC, scaricando i vari pacchetti dai rispettivi siti ufficiali, compilandoli automaticamente, installandoli e configurandoli (ovviamente poi per prestazioni migliori bisogna ottimizzare le varie configurazioni). Sono comprese anche delle semplici utility web per il monitoraggio dei software e degli script per effettuare gli aggiornamenti in pochi secondi (provato personalmente Рcon successo Рper APC).

Vlad script (PHP, Nginx, MySQL, APC)

Lo script in esecuzione

Successivamente dovrete configurare i vari software, in particolare creare i virtual host su Nginx per ospitare più siti web sulla stessa macchina (puntando i record DNS verso l’IP della vostra macchina TopServer, che offre IPv6 in maniera nativa!), ottimizzare PHP5-FPM (FastCGI Process Manager) e MySQL. Se volete potete installare molti altri software, ad esempio PhpMyAdmin (per gestire i database), vsftpd (per l’accesso FTP/FTPS) e Webmin (pannello di controllo web-based).
Vi prometto a breve una nuova puntata in cui posterò le configurazioni migliori dopo aver effettuato varie prove con configurazioni diverse. Attualmente il mio TopServer ospita circa 6/7 siti web, alcuni con un numero di visite abbastanza importante, e si comporta veramente bene.

RAM TopServer

Il comando free -m mostra lo stato della memoria RAM

P.S.: Ovviamente al posto di Nginx potete installare Apache, personalmente preferisco il primo al secondo perché avendo scelto la configurazione di base ho necessità di utilizzare meno RAM possibile, ed Nginx offre una gestione della RAM nettamente migliore rispetto al più celebre Apache.

Governo: trasparenza sui compensi sì.. ma non troppa!

Anche se “operazione trasparenza” significa rendere un qualcosa disponibile in maniera chiara, rapidamente e agevolmente,Robots.txt chi gestisce il sito del Governo ha pensato bene di impedire ai motori di ricerca di indicizzare le pagine relative alla sopracitata “operazione trasparenza” sui compensi di dirigenti pubblici e consulenti tramite una direttiva contenuta nel file robots.txt (cos’è?) .

da governo.it/robots.txt il 13/04/2012:

User-agent: *
Disallow: /Presidenza/operazione_trasparenza/dirigenti/
Disallow: /Presidenza/operazione_trasparenza/consulenti/

Geniacci!