MICHELEPISANI.IT
 

REST API is deprecated for versions v2.1 and higher (12)

Il contatore di Facebook non funziona più? Ecco la soluzione!

REST API is deprecated for versions error code 12
November 15
07:392016

Ogni tanto Facebook si "diverte" a modificare il modo con cui poter recuperare le informazioni tramite le API tra le quali una delle più utilizzate è quella del contatore (share counts) per mostrare il numero di "Mi Piace" e di condivisioni che la pagina in questione ha ottenuto.
Già da un po' di tempo a questa parte la seguente chiamata alle API non dà più il risultato sperato:

https://api.facebook.com/method/links.getStats?format=json&urls=https://www.michelepisani.it

Tant'è appunto che fino a qualche giorno fa funzionava correttamente la seguente chiamata:

https://api.facebook.com/restserver.php?method=links.getStats&format=json&urls=https://www.michelepisani.it

Ma anche questa ha smesso di funzionare restituendo il seguente errore "REST API is deprecated for versions v2.1 and higher (12)", e non mostrando quindi il valore desiderato del contatore:

{"error_code":12,"error_msg":"REST API is deprecated for versions v2.1 and higher (12)","request_args":[{"key":"method","value":"links.getStats"},{"key":"format","value":"json"},{"key":"urls","value":"http://www.michelepisani.it"}]}

Per chi volesse approfondire il motivo del mancato funzionamento può far fede alla pagina relativa al log delle modifiche di Facebook per gli sviluppatori: https://developers.facebook.com/docs/apps/changelog
Per il resto mi sono mosso per trovare una soluzione che riporto di seguito:

https://graph.facebook.com/?id=https://www.michelepisani.it

Il risultato è un json che differisce leggermente da quello restituito con le precedenti chiamati, sarà pertanto necessario modificare lo script di recupero informazione in PHP come di seguito:

// estratto del file shareCount.php (modificato)
$json_string = $this->file_get_contents_curl('http://graph.facebook.com/?id='.$this->url);
$json = json_decode($json_string, true);
echo isset($json['share']['share_count'])?intval($json['share']['share_count']):0; // <--

Lo script di cui sopra è un estratto del file shareCount.php dove le prime righe di codice,  che servono solo per recuperare il json dall'url, rimangono immutate (a parte il link all'API) pertanto vale lo stesso anche nel caso di altri script che eventualmente utilizzate, mentre la parte che deve essere modificata è l'ultima, $json['share']['share_count'], in quanto la struttura del json è cambiata.

Tags

Autore

Michele Pisani

Michele Pisani

Ho uno spiccato orientamento al problem-solving, se è troppo facile non mi diverto :)
Credo nella volontà e nel cambiamento perchè hanno fatto della mia passione il mio pane quotidiano.
Se devo descrivermi con una sola parola direi... "Concretezza", la mia stretta di mano è una garanzia.

6 Commenti

  1. Panpic Friday, March 10, 2017 alle ore 08:45

    How do I get like count facebook my website url ?
    Regards

    Rispondi a questo commento
    • Michele PisaniAutore Monday, March 13, 2017 alle ore 00:20

      Hi Panpic,
      just use the link that is mentioned in the article (i.e. to get the Facebook count for the home of my website):


      https://graph.facebook.com/?id=https://www.michelepisani.it

      You can replace the URL in the id parameter with any other page URL you want.

      Rispondi a questo commento
  2. Harry Thursday, June 21, 2018 alle ore 13:06

    utile, bravo Michele!

    Rispondi a questo commento
  3. Sara Saturday, November 16, 2019 alle ore 00:40

    Ciao, scusami il disturbo. Ho provato ad aprire messanger questa sera e mi esce fuori la scritta " REST API is deprecated for versions v2.1 and higher (12) ". Cosa significa? Cosa devo fare ?

    Rispondi a questo commento
  4. Stephanie Saturday, November 16, 2019 alle ore 00:44

    Je ne sais plus me connecter à messenger m indique rest api is dedeprecated for versions v 2.1 ans higher (12) qu est ce que je dois faire aidez moi svp

    Rispondi a questo commento

Scrivi un Commento

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

Articoli e Argomenti correlati

Il Canale YouTube in ITALIANO

1 VIDEO GRATIS ogni 2 settimane! ISCRIVITI!

Entra a far parte della community su Facebook

Categorie popolari

Iscriviti alla mia newsletter

La tua e-mail con me sarà al sicuro.
Non fornirò mai le tue informazioni a nessuno!

Ultimi commenti

Michele Pisani

Hai verificato se succede per tutte le pagine da un certo periodo di tempo in poi o solo su alcune?

Tecnowiz

Sono amministratore di un blog pure io... Intanto ti faccio i complimenti per questo articolo. …

Michele Pisani

Ciao Antonio, grazie per la fiducia :) In caso di più fogli è necessario inserire il codice del …

Antonio

Ciao Michele, ho acquistato il tuo libro che unitamente ai tuoi video sta diventando il mio corso …