Facebook: invitare tutti gli amici a fare “Mi piace” su una pagina

Una delle cose che non sopporto assolutamente dell’interfaccia di Facebook è la totale assenza di un aiuto per l’utente nell’evitare di fare un milione di click ogni qual volta ci sia da selezionare gli utenti destinatari di un messaggio o di un invito.

Aspettando una sorta di Facebook Pro, dove, pagando, si possa agire normalmente ed agevolmente tra le amicizie e gli utenti delle pagine, inviando loro messaggi privati e quant’altro in libertà, ora come ora bisogna fare di necessità virtù.

La maggior parte dei siti che offrono automazione sui social non fanno quello che serve a me, come Sproutsocial o SendSocialMedia: l’unica cosa è manipolare gli oggetto di Facebook stesso, piegandoli alle proprie necessità.

Un esempio lampante è l’invito a fare mi piace su una pagina di cui si è amministratori.
La sola idea di fare 5000 click per selezionare 5000 amici è di per se stupida, figurarsi un’interfaccia dove non esiste un semplice bottone che selezioni tutte le checkbox.
Chissà come sono gli stipendi di coloro che si occupano del frontoffice di FB…

Se conoscete javascript e avete dimestichezza con la console di Chrome, il gioco sarà molto più semplice di quello che può sembrare.

Andate su Facebook usando Google Chrome, entrate nella vostra pagina e, in alto, cliccate su: Espandi il pubblico –>  Invita i tuoi amici
Se non conoscete Google Chrome, fatevi vedere da uno bravo.

Una volta apertosi l’elenco degli amici, fate click destro –> Ispeziona elemento su uno degli amici. Vi si aprirà la finestra della console, con la porzione di codice selezionata evidenziata.

Andando a spulciare nel codice html, cercate il primo form che contiene il codice selezionato.  Dovrebbe essere qualcosa del tipo:
<form rel=”async” action=”/ajax/pages/invite/send/” method=”post” onsubmit=”return window.Event &amp;&amp; Event.__inlineSubmit &amp;&amp; Event.__inlineSubmit(this,event)” id=”u9y2dfy31“>

L’id in grassetto è importante, segnatevelo da qualche parte, poichè ci sarà da inserirlo via codice manualmente.

Ora andare nella sezione console, cliccando in alto nella finestra del codice di Chrome.
Non stupitevi se troverete, come nell’immagine, un elenco di errori.

Eliminate il contenuto della console, giusto per non confondervi le idee. Per fare ciò usate il tasto di divieto che trovate in basso a sinistra ( quarta icona ).

Ora siamo pronti per selezionare gli oggetti dal DOM; carichiamo in una variabile il form:

var f = document.getElementById('u7h83jn34'); 

Dopo di che possiamo ciclare tutti gli elementi presenti.
Fate attenzione: sostituite il valore u7h83jn34 con l’id del vostro form.

Eccovi il secondo blocco di codice da eseguire:

var modulo = f.elements;
for (i=0; i {
if(modulo[i].type == "checkbox" && !modulo[i].disabled )
{
modulo[i].checked = !(modulo[i].checked);
}
}

Come vedete, ho caricato in modulo il valore di f.elements ( per comodità ).
Per ogni elemento nel form, controllo che sia una checkbox e che non sia disabilitata da FB, modifico lo stato della checkbox.

Notate che se, nella console, usate il tasto freccia su riproporrete il comando immediatamente precedente. Se rilanciate nuovamente il secondo blocco di codice, noterete che le checkbox si deselezioneranno.

Spero vi sia utile!

Problemi con la cache di Facebook?

Vi sarà capitato moltissime volte di dover o voler postare un link ad una pagina o ad un articolo su Facebook, ed il più delle volte non avrete notato il fastidioso problema della cache del social network.

Se il link non fa parte di un vostro sito, ma di uno esterno, il problema non si pone, difficilmente avrete diretto accesso ai tag tipo title e description, ma nel momento in cui la pagina è vostra, o ne siete amministratore, beh, il discorso cambia eccome.

Nel mio caso l’obiettivo era pubblicizzare un articolo su un sito e-commerce di un cliente.
Ho postato il link e ho notato che i tag <title> e <description> erano terrificanti.
Procedo con la modifico dei suddetti tag, aggiorno la pagina, rivado in Facebook, posto nuovamente il link … e il risultato non cambia. Ma come è possibile? Da una parte l’HTML della pagina è perfetto, mentre Facebook mi ripropone i dati precedenti.

Chiaramente FB salva in memoria i dati relativi a quel link, proprio per evitare un eccessivo traffico verso altri siti. Il problema, però, persiste.

Ho notato che questo baco è facilmente aggirabile seguendo la seguente procedura.

E’ sufficiente collegarsi al link http://developers.facebook.com/tools/debug, inserire il link che volete postare su FB , attendere il caricamento dei dati ed il gioco è fatto.

Da questo momento, quando posterete nuovamente il link nella bacheca del Social Network di Mr.Zuckerberg, la cache sarà aggiornata all’ultima versione.

Questa procedura, tra le altre cose, può essere ripetuta N volte, poichè ogni volta verrà aggiornata la versione in memoria.

Facebook: Eduardo Saverin non sarà più americano

Il Co-fondatore di Facebook, Eduardo Saverin, ha rinunciato alla cittadinanza americana.
Il brasiliano, che fino al 2010 pare potesse contare sul 5% circa di Facebook ( c’è tutt’ora un accordo di riservatezza a proposito ndr ), aveva ottenuto la cittadinanza americana nel 1998 e vive a Singapore dal 2009.

Saverin ha venduto alcune quote di partecipazione di FB ed infatti non è elencato tra coloro che dispongono del 5% o più in fase di registrazione per la discesa in campo del Social Network sul listino IPO.

La scelta può essere vista come puramente fiscale, poichè gli Stati Uniti richiedono il pagamento delle tasse a prescindere da quale sia il tuo paese di residenza, è sufficiente che tu abbia la cittadinanza e riceva emolumenti da una ditta con sede, appunto, negli USA.

Il suo addetto stampa ha dichiarato che la scelta di rinunciare alla cittadinanza non ha nulla a che fare con il discorso Borsa-Facebook e che risalga, anzi, a molti mesi fa, avendo deciso di stabilirsi definitivamente a Singapore.

Certamente, se il film “The Social Network” racconta anche solo parzialmente la verità, chiunque farebbe a gara per incassare e fuggire da qualsiasi rapporto di lavoro / amicizia con Mr. Zuckerberg.