Como obter contagens de compartilhamento usando a API do gráfico

136

Posso obter a contagem de compartilhamentos de um URL usando o PHP SDK e a API de descanso descontinuada, mas não encontrei uma maneira de obter as contagens de compartilhamento de um URL usando a API de gráficos.

Existe alguma maneira de descobrir?

Ashish Pethkar
fonte
Obtenha a solução para você aqui stackoverflow.com/questions/6137414/…
Sakata Gintoki
Verifique a resposta aqui: stackoverflow.com/questions/9728279/…
Atif Tariq
Post 8 de agosto de 2016 (não descontinuado) resposta: stackoverflow.com/a/39379251/4607317
budi

Respostas:

270

Aqui está uma lista de links da API para obter suas estatísticas:

Facebook: https://api.facebook.com/method/links.getStats?urls=%%URL%%&format=json
Reddit: http://buttons.reddit.com/button_info.json?url=%%URL% %
LinkedIn: http://www.linkedin.com/countserv/count/share?url=%%URL%%&format=json
Digg: http://widgets.digg.com/buttons/count?url=%%URL %%
Delicious: http://feeds.delicious.com/v2/json/urlinfo/data?url=%%URL%%
StumbleUpon: http://www.stumbleupon.com/services/1.01/badge.getinfo?url = %% URL %%
Pinterest: http://widgets.pinterest.com/v1/urls/count.json?source=6&url=%%URL%%

Editar: removido o ponto final do Twitter, pois esse foi preterido.

Editar: a API REST do Facebook foi descontinuada

chandrajeet
fonte
1
A única linkedin não funciona (dá 403 acesso negado)
Maxim Krizhanovsky
2
Quanto custa o limite de chamadas da API para cada solicitação?
StErMi
8
Olá ! Obrigado por esta lista. Não consigo encontrar a documentação para o terminal da API api.facebook.com/method/links.getStats . Realmente funciona, mas eu gostaria de garantir que não faça parte de uma versão da API que será desativada em breve. Também é estranho que isso esteja disponível sem autenticação ... Você vê algo sobre isso na documentação do facebook? Não faz parte da API gráfico ...
Żabojad
10
O link do Facebook não está mais funcionando. Use graph.facebook.com/?id=http://www.google.com
MarkOverride
8
O @MarkOverride de uma versão ainda mais otimizada (menos largura de banda) é graph.facebook.com/?fields=share&id=http://www.google.com . O problema é que esses novos pontos de extremidade são severamente limitados por taxas e é muito difícil usá-los na produção sem encontrar esses limites. Se alguém tiver uma maneira diferente de fazê-lo, informe-nos.
njy
200

ATUALIZAÇÃO - abril '15:

Se você deseja obter a contagem disponível no botão Curtir, use o engagementcampo no og_objectobjeto, assim:

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

Resultado:

{
  "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/"
}

É possível com a API do Graph, basta usar:

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

algo como:

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

Retornaria:

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

ATUALIZAÇÃO: enquanto o acima responderia como obter a contagem de compartilhamentos . Esse número não é igual ao que você vê no botão Curtir , pois esse número é a soma de:

  • O número de curtidas deste URL
  • O número de compartilhamentos deste URL (isso inclui copiar / colar um link para o Facebook)
  • O número de curtidas e comentários em histórias no Facebook sobre este URL
  • O número de mensagens da caixa de entrada que contêm este URL como anexo.

Portanto, é possível obter o número do botão Curtir com a API do Graph através do fqlponto final (a link_stattabela):

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 é o número que aparece no botão Curtir.

ifaour
fonte
Não recebo a contagem de compartilhamentos para determinados objetos. Eu sei que eles deveriam ter pelo menos um compartilhamento.
Jan Deinhard 10/08
1
@ Justo, sim, às vezes o número não está correto e é um pouco confuso. Você pode usar a tabela fql sugerida pela outra resposta, mas ainda assim ... às vezes os números também não estão corretos!
ifaour
é possível compartilhar compartilhamentos de alguns sites?
Aziz
@ Aziz, o que você quer dizer?
ifaour
3
Como v2.6 doc não deixá-lo ir share_count, like_counte comment_count, ao que parece fqlea API REST ainda são as melhores opções ... Mas ambos fqle API REST deixarão de estar disponíveis depois de 07 de agosto de 2016! Alguma sugestão?
Daniel García Baena
21

Você não deve usar a API do gráfico. Se você ligar para:

ou

ambos retornarão:

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

Mas o número mostrado é a soma de :

  • número de curtidas deste URL
  • número de compartilhamentos deste URL (isso inclui copiar / colar um link para o Facebook)
  • número de curtidas e comentários em histórias no Facebook sobre este URL
  • número de mensagens da caixa de entrada que contêm este URL como anexo.

Então você deve usar o FQL.
Veja esta resposta: Como buscar curtidas, compartilhar e contar no facebook de um artigo

freedev
fonte
você está absolutamente certo, por total_shares é a soma dos comentários + gosta + ações mas a página i solicitado, mostra shares_i_have = total_shares + gosta
Aziz
14

Após 7 de agosto de 2016, você ainda poderá fazer sua ligação assim:

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

mas o formato da resposta será diferente: não será

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

mas em vez disso será

{
   "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"
}

Então você terá que processar a resposta assim:

reponse_variable.share.share_count
Giorgio Tempesta
fonte
1
Mas o valor SHARE_COUNT é enganosa, uma vez que está se referindo à soma dos gostos ações +
Alon Bilu
Acho que você está certo, minha resposta foi apenas uma atualização sobre como chamar a API. Acho que o que @freedev disse sobre a contagem de ações ainda pode estar correto.
Giorgio Tempesta
8

O que achei útil e encontrei em um link acima é essa consulta FQL, na qual você solicita curtidas, totaliza, compartilha e clica em um link, olhando para a tabela 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

Isso produzirá algo como isto:

{
    data: [
        {
             like_count: 3440162,
             total_count: 13226503,
             share_count: 7732740,
             click_count: 265614,
             comment_count: 2053601
         }
    ]
}
Juanjo Lainez Reche
fonte
2
A partir de 8 de agosto de 2016, o FQL não estará mais disponível e não poderá ser consultado. Para migrar seu aplicativo, use a API Upgrade Tool para ver as chamadas da API do Graph que você pode fazer.
Nguyen Minh Binh
7

Confira esta essência . Possui trechos de como obter a contagem de compartilhamento para os seguintes serviços:

  • Facebook
  • Twitter
  • Google plus
  • Pinterest
  • LinkedIn
  • Tropeçou em
Muhammad Reda
fonte
Isso tem alguns anos. Com a frequência com que cada serviço atualiza sua API, duvido que seja muito preciso.
subvertallchris
4

O botão curtir no facebook faz duas coisas que a API não faz. Isso pode criar confusão quando você compara os dois.

  1. Se o URL que você usa no botão Curtir possui um redirecionamento, o botão realmente mostra a contagem do URL de redirecionamento versus a contagem do URL que você está usando.

  2. Se a página tiver uma propriedade og: url, o botão "Curtir" mostrará os gostos desse URL em vez do URL no navegador.

Espero que isso ajude alguém

Roland
fonte
1

quando usei o FQL, encontrei o problema (mas ainda é um problema) a documentação diz que o número mostrado é a soma de:

  • número de curtidas deste URL
  • número de compartilhamentos deste URL (isso inclui copiar / colar um link para o Facebook)
  • número de curtidas e comentários em histórias no Facebook sobre este URL
  • número de mensagens da caixa de entrada que contêm este URL como anexo.

mas no meu site o número mostrado é a soma dessas 4 contagens + número de compartilhamentos (novamente)

Aziz
fonte
1

Usando o FQL, você pode fazer isso:

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

Existe uma gema de rubi para ela - SocialShares

Atualmente, ele suporta as seguintes redes sociais:

  • Facebook
  • Twitter
  • google plus
  • reddit
  • linkedin
  • pinterest
  • tropeçar
  • 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
Timrael
fonte
1

Você pode usar o https://graph.facebook.com/v3.0/ {Place_your_Page_ID here} / feed? Fields = id, compartilhamentos, share_count & access_token = {Place_your_access_token_here} para obter a contagem de compartilhamentos.

Gunta Vaishnavi
fonte