Come ottenere il conteggio delle condivisioni utilizzando l'API del grafico


136

Posso ottenere il conteggio delle condivisioni di un URL usando PHP SDK e usando l'API di riposo deprecata, ma non ho trovato un modo per ottenere il conteggio delle condivisioni di un URL usando l'API del grafico.

C'è un modo per scoprirlo?


Ottieni la soluzione per te qui stackoverflow.com/questions/6137414/…
Sakata Gintoki


Post 8 agosto 2016 (non deprecato) risposta: stackoverflow.com/a/39379251/4607317
budi,

Risposte:


270

1
Il linkedin non funziona (dà accesso negato a 403)
Maxim Krizhanovsky,

2
Quanto costa il limite di chiamata API per ogni richiesta?
StErMi,

8
Ciao ! Grazie per questo elenco. Non riesco a trovare la documentazione per l' endpoint API api.facebook.com/method/links.getStats . Funziona davvero, ma vorrei assicurarmi che non faccia parte di una versione dell'API che verrà presto ritirata. Inoltre è strano che questo sia disponibile senza autenticazione ... Vedi qualcosa al riguardo nella documentazione di Facebook? Non fa parte dell'API del grafico ...
jabojad

10
Il link di Facebook non funziona più. Utilizza graph.facebook.com/?id=http://www.google.com
MarkOverride

8
@MarkOverride una versione ancora più ottimizzata (meno larghezza di banda) è graph.facebook.com/?fields=share&id=http://www.google.com . Il problema è che questi nuovi endpoint sono fortemente limitati in termini di velocità ed è molto difficile utilizzarli in produzione senza incontrare i suddetti limiti. Se qualcuno ha un modo diverso di farlo, faccelo sapere.
njy,

200

AGGIORNAMENTO - Aprile '15:

Se si desidera ottenere il conteggio disponibile nel pulsante Mi piace, è necessario utilizzare il engagementcampo og_objectnell'oggetto, in questo modo:

https://graph.facebook.com/v2.2/?id=http://www.MY-LINK.com&fields=og_object{engagement}&access_token=<access_token>

Risultato:

{
  "og_object": {
    "engagement": {
      "count": 93, 
      "social_sentence": "93 people like this."
    }, 
    "id": "801998203216179"
  }, 
  "id": "http://techcrunch.com/2015/04/06/they-should-have-announced-at-420/"
}

È possibile con l'API Graph, è sufficiente utilizzare:

http://graph.facebook.com/?id=YOUR_URL

qualcosa di simile a:

http://graph.facebook.com/?id=http://www.google.com

Ritornerebbe:

{
   "id": "http://www.google.com",
   "shares": 1163912
}

AGGIORNAMENTO: mentre quanto sopra risponderebbe come ottenere il conteggio delle condivisioni . Questo numero non è uguale a quello che vedi sul pulsante Mi piace , poiché quel numero è la somma di:

  • Il numero di Mi piace di questo URL
  • Il numero di condivisioni di questo URL (include copia / incolla di un collegamento su Facebook)
  • Il numero di Mi piace e commenti su storie su Facebook su questo URL
  • Il numero di messaggi di posta in arrivo contenenti questo URL come allegato.

Quindi ottenere il numero del pulsante Mi piace è possibile con l'API Graph attraverso il fqlpunto finale (la link_stattabella):

https://graph.facebook.com/fql?q=SELECT url, normalized_url, share_count, like_count, comment_count, total_count,commentsbox_count, comments_fbid, click_count FROM link_stat WHERE url='http://www.google.com'

total_count è il numero visualizzato nel pulsante Mi piace.


Non ottengo il conteggio delle condivisioni per determinati oggetti. So che dovrebbero avere almeno una quota.
Jan Deinhard,

1
@Fair, sì a volte il numero non è corretto ed è un po 'confuso. Puoi usare la tabella fql suggerita dall'altra risposta, ma comunque ... a volte anche i numeri non sono corretti!
ifaour,

è possibile prendere quote di pochi siti?
Aziz,

@Aziz, che vuoi dire?
circa il

3
Dato che il documento v2.6 non ti consente di ottenere share_count, like_counte comment_count, a quanto pare, fqle l'API REST sono ancora le migliori opzioni ... Ma entrambi fqle l'API REST non saranno più disponibili dopo il 7 agosto 2016! Eventuali suggerimenti?
Daniel García Baena,

21

Non dovresti usare l'API del grafico. Se chiami:

o

entrambi torneranno:

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

Ma il numero visualizzato è la somma di :

  • numero di Mi piace di questo URL
  • numero di condivisioni di questo URL (include copia / incolla di un link su Facebook)
  • numero di Mi piace e commenti su storie su Facebook su questo URL
  • numero di messaggi di posta in arrivo contenenti questo URL come allegato.

Quindi devi usare FQL.
Guarda questa risposta: come recuperare Mi piace di Facebook, condividere, contare i commenti da un articolo


hai assolutamente ragione, per total_shares è la somma di commenti + Mi piace + condivisioni ma la pagina che ho richiesto, mostra share_i_have = total_shares + Mi piace
Aziz

14

Dopo il 7 agosto 2016 puoi ancora effettuare la chiamata in questo modo:

http://graph.facebook.com/?id=https://www.apple.com/

ma il formato della risposta sarà diverso: non lo sarà

{
  "id": "http://www.apple.com",
  "shares": 1146997
}

ma invece lo sarà

{
   "og_object": {
      "id": "388265801869",
      "description": "Get a first look at iPhone 7, Apple Watch Series 2, and the new AirPods \u2014 the future of wireless headphones. Visit the site to learn more.",
      "title": "Apple",
      "type": "website",
      "updated_time": "2016-09-20T08:21:03+0000"
   },
   "share": {
      "comment_count": 1,
      "share_count": 1094227
   },
   "id": "https://www.apple.com"
}

Quindi dovrai elaborare la risposta in questo modo:

reponse_variable.share.share_count

1
Ma il valore share_count è fuorviante, in quanto si riferisce alla somma di Mi piace + azioni
Alon Bilu

Immagino tu abbia ragione, la mia risposta è stata solo un aggiornamento su come chiamare l'API. Penso che ciò che @freedev ha detto sui conteggi delle azioni possa essere ancora corretto.
Giorgio Tempesta,

8

Ciò che ho trovato utile e che ho trovato su un link sopra è questa query FQL in cui chiedi like, totale, condivisione e conteggio dei clic di un link guardando la tabella link_stat

https://graph.facebook.com/fql?q=SELECT%20like_count,%20total_count,%20share_count,%20click_count,%20comment_count%20FROM%20link_stat%20WHERE%20url%20=%20%22http://google.com%22

Questo produrrà qualcosa del genere:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}

2
A partire dall'8 agosto 2016, FQL non sarà più disponibile e non potrà essere interrogato. Per migrare la tua app, usa lo strumento di aggiornamento API per vedere invece le chiamate API Graph che puoi effettuare.
Nguyen Minh Binh,

7

Dai un'occhiata a questo riassunto . Ha frammenti di come ottenere il conteggio delle condivisioni per i seguenti servizi:

  • Facebook
  • cinguettio
  • Google Plus
  • Pinterest
  • LinkedIn
  • Inciampato su

Questo ha pochi anni. Con la frequenza con cui ogni servizio aggiorna la loro API, dubito che sia molto preciso.
subvertallchris,

4

Il pulsante Mi piace di Facebook fa due cose che l'API non fa. Ciò potrebbe creare confusione quando si confrontano i due.

  1. Se l'URL che usi nel tuo pulsante mi piace ha un reindirizzamento, il pulsante mostrerà effettivamente il conteggio dell'URL di reindirizzamento rispetto al conteggio dell'URL che stai utilizzando.

  2. Se la pagina ha una proprietà og: url, il pulsante mi piace mostrerà i like di quell'URL anziché l'URL nel browser.

Spero che questo aiuti qualcuno



1

quando ho usato FQL ho trovato il problema (ma è ancora un problema) la documentazione dice che il numero mostrato è la somma di:

  • numero di Mi piace di questo URL
  • numero di condivisioni di questo URL (include copia / incolla di un link su Facebook)
  • numero di Mi piace e commenti su storie su Facebook su questo URL
  • numero di messaggi di posta in arrivo contenenti questo URL come allegato.

ma sul mio sito web il numero visualizzato è la somma di questi 4 conteggi + numero di azioni (di nuovo)


1

Usando FQL puoi farlo:

http://graph.facebook.com/fql?q=SELECT url, total_count FROM link_stat WHERE url='PASTE_YOUR_URL_HERE'

1

C'è una gemma rubino per questo - SocialShares

Attualmente supporta i seguenti social network:

  • Facebook
  • cinguettio
  • Google Plus
  • reddit
  • linkedin
  • Pinterest
  • stumbleupon
  • vkontakte
  • mail.ru
  • odnoklassniki

Uso:

:000 > url = 'http://www.apple.com/'
  => "http://www.apple.com/"
:000 > SocialShares.facebook url
  => 394927
:000 > SocialShares.google url
  => 28289
:000 > SocialShares.twitter url
  => 1164675
:000 > SocialShares.all url
  => {:vkontakte=>44, :facebook=>399027, :google=>28346, :twitter=>1836, :mail_ru=>37, :odnoklassniki=>1, :reddit=>2361, :linkedin=>nil, :pinterest=>21011, :stumbleupon=>43035}
:000 > SocialShares.selected url, %w(facebook google linkedin)
  => {:facebook=>394927, :google=>28289, :linkedin=>nil}
:000 > SocialShares.total url, %w(facebook google)
  => 423216
:000 > SocialShares.has_any? url, %w(twitter linkedin)
  => true

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.