Klout in Google Docs

Ti piacerebbe avere una colonna nel tuo foglio di calcolo in Google Docs Spreadsheet valorizzata con l’indice di Klout? Beh si può, anche senza disturbare le API! Ovviamente non usando le API è un metodo abbastanza “vulnerabile”, nel senso che se cambiano il sito la valorizzazione non funzionerà più nel modo corretto.

ATTENZIONE: @harmophone mi fa notare come il rintracciamento del klout score tramite tecniche di scraping viola le TOS (Terms of Service). Segnalo quindi che queste sono solo indicazioni di fattibilità e la loro implementazione è responsabilità di chi lo fa!

Quello che propongo è:

  • ottenere Klout Score senza API
  • ottenere Klout Score con API, usando la libreria ImportJSON e chiamate varie
  • ottenere Klout Score con API, usando KloutMrx e una singola funzione!!! > prossimamente…

Buona lettura!

Ottenere Klout Score senza API

Quasi un anno fa postai “Twitter Follewer in Google Docs“. Il metodo è molto molto simile, al più che Twitter mette a disposizione un vero e proprio XML.

La regola da usare è abbastanza semplice:
=ImportXML(<url>;”//span[@class=’kscore ‘]/@title”)

Dove <url> è l’indirizzo della pagina Klout del profilo da analizzare. Tale indirizzo (solitamente) corrisponde all’utente Twitter. Nel mio caso diventa infatti:
=ImportXML(“http://klout.com/merlinox”;”//span[@class=’kscore ‘]/@title”)

Il gioco è fatto.

Ottenere Klout Score con le API

La via corretta per ottenere il Klout Score è l’utilizzo delle API. Pregi: piattaforma affidabili, non si viola alcun termine di servizio, supporto per programmatori, molte funzionalità a disposizione, servizio durabile. Difetti: la registrazione è lunga e “faticosa” e ci sono limitazioni sul numero di chiamate (10 al secondo, 20000 al giorno).

Detto questo bisogna procedere così:

  1. registrarsi a questa pagina
  2. finita la registrazione si ottengono due API Key: una è per il OAuth (login), una per le chiamate ai metodi, che si chiama Partner API
  3. usare il metodo screenName per ottenere le info sull’utente
  4. la pagina che da l’id klout dell’utente (formato JSON) è tipo:
    http://api.klout.com/v2/identity.json/twitter?screenName=Merlinox&key=<PartnerAPI-Key>
  5. la pagina che da lo score klout dell’utente (formato JSON) è tipo:
    http://api.klout.com/v2/user.json/<id>/score?key=<PartnerAPI-Key>
  6. In gDocs andare su Strumenti > Galleria Script…
  7. Cercare “ImportJSON” e installare il componente
  8. Con questa istruzione ottenete l’id dell’utente:
    =ImportJSON(<url id>;”/id”;”noHeaders”)
  9. Createvi la <url score> tramite la funzione CONCATENATE, immettendovi l’id corretto
  10. Con questa istruzione ottenete lo score dell’utente (id) *:
    =ImportJSON(<url score>”/score”;”noHeaders”)

* in automatico aggiunge altre 3 colonne, nono sono stato capace di evitarlo, si accettano consigli

Ecco diciamo che questa soluzione è diversamente comoda, ma siete dei bravi e ligi ragazzi!

ps: come già da molti espresso Klout non è la verità, ma un indice algoritmico formato da parametri il cui peso è arbitrario e sconosciuto!

Loading Facebook Comments ...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *