Come Aggiornare il Social Graph di Facebook
Alle volte può capitare di dover aggiornare i dati associati ad un URL all’interno del Social Graph di Facebook.
Possiamo farlo in 2 modi:
- Manualmente attraverso l’Object Debugger
- Programmaticamente appoggiandosi direttamente all’API di Facebook.
Ecco uno snippet di codice PHP che permette di farlo in modo semplice e veloce:
<?php function update_social_graph($url) { $url = sprintf('http://graph.facebook.com/?id=%s&scrape=true', urlencode($url)); $ch = curl_init($url); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $response = curl_exec($ch); curl_close($ch); return json_decode($response, TRUE); } $url = 'http://www.example.com/'; $update = update_social_graph($url); print('<pre>'); print_r($update); print('</pre>'); ?>
Al momento non sono al corrente di eventuali limiti nell’utilizzo di questa API, perciò consiglio di limitare l’uso a casi molto speciali eventualmente distribuendo le chiamate HTTP in un ampio arco temporale sopratutto se provengono tutte dallo stesso IP.
P.S.
Questa soluzione può essere implementata anche lato client usando un IFRAME nascosto contenente una FORM e un codice Javascript per l’invio automatico del modulo. Così facendo le richieste potrebbero essere distribuite in modo organico su indirizzi IP differenti. Ovviamente in questo caso sarebbe opportuno implementare un qualche metodo di blocco per evitare che la stessa pagina venga aggiornata più del necessario.