facebook og:image - Cómo obtener cuentas compartidas usando API gráfica




og:type meta (11)

No deberías usar la API api. Si llamas:

o

ambos regresarán:

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

Pero el número que se muestra es la suma de :

  • número de Me gusta de esta URL
  • número de acciones de esta URL (esto incluye copiar / pegar un enlace a Facebook)
  • número de me gusta y comentarios en historias en Facebook sobre esta URL
  • número de mensajes de la bandeja de entrada que contienen esta URL como un archivo adjunto.

Entonces debes usar FQL.
Mire esta respuesta: Cómo obtener me gusta de Facebook, compartir, contar los comentarios de un artículo

Puedo obtener el recuento de recursos compartidos de una URL usando PHP SDK y usar la API de reposo en desuso, pero no encontré la manera de obtener los recuentos de acciones de una URL usando la API de gráficos.

Existe alguna manera de averiguarlo?


El botón de me gusta de Facebook hace dos cosas que la API no hace. Esto puede crear confusión cuando se comparan los dos.

  1. Si la URL que utilizas en tu botón "me gusta" tiene un redireccionamiento, el botón mostrará el recuento de la URL de redirección contra el recuento de la URL que estás usando.

  2. Si la página tiene una propiedad og: url, el botón Me gusta mostrará el me gusta de esa url en lugar de la url en el navegador.

Espero que esto ayude a alguien


Hay una gema de rubí para ello - SocialShares

Actualmente es compatible con las siguientes redes sociales:

  • Facebook
  • gorjeo
  • Google Mas
  • reddit
  • linkedin
  • pinterest
  • tropezar con
  • 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

Lo que encontré útil y encontré en un enlace de arriba es esta consulta FQL donde pides me gusta, total, comparte y haces clic en el conteo de un enlace mirando la tabla 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

Eso dará como resultado algo como esto:

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

Después del 7 de agosto de 2016, puede realizar su llamada de la siguiente manera:

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

pero el formato de respuesta va a ser diferente: no será

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

pero en cambio 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"
}

Por lo tanto, deberá procesar la respuesta de esta manera:

reponse_variable.share.share_count

Usando FQL puedes hacer eso:

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

No creo que sea posible obtener el mismo conteo de la API del gráfico, debe usar la link_stat . FQL no está en desuso.


cuando utilicé FQL encontré el problema (pero sigue siendo un problema), la documentación dice que el número que se muestra es la suma de:

  • número de Me gusta de esta URL
  • número de acciones de esta URL (esto incluye copiar / pegar un enlace a Facebook)
  • número de me gusta y comentarios en historias en Facebook sobre esta URL
  • número de mensajes de la bandeja de entrada que contienen esta URL como un archivo adjunto.

pero en mi sitio web el número mostrado es la suma de estos 4 conteos + número de acciones (nuevamente)


Mira esta esencia . Tiene fragmentos de cómo obtener el recuento de uso compartido para los siguientes servicios:

  • Facebook
  • Gorjeo
  • Google Mas
  • Pinterest
  • LinkedIn
  • Me topé con

ACTUALIZACIÓN - abril '15:

Si desea obtener el conteo que está disponible en el botón Me gusta, debe usar el campo de engagement en el objeto og_object , de esta manera:

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

Es posible con Graph API, simplemente use:

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

algo como:

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

Volvería:

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

ACTUALIZACIÓN: mientras que el anterior responderá cómo obtener el recuento de acciones . Este número no es igual al que ve en el botón Me gusta , ya que ese número es la suma de:

  • La cantidad de Me gusta de esta URL
  • El número de acciones de esta URL (esto incluye copiar / pegar un enlace a Facebook)
  • La cantidad de me gusta y comentarios sobre historias en Facebook sobre esta URL
  • La cantidad de mensajes de la bandeja de entrada que contienen esta URL como un archivo adjunto.

Entonces, obtener el número del Botón Me gusta es posible con Graph API a través del fql final fql (la tabla link_stat ):

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 es el número que se muestra en el botón Me gusta.


"https://graph.facebook.com/v2.2/PAGEid_POSTid/? fields=shares&access_token=YOUR_ACCESS_TOKEN";

Estoy utilizando el punto final mencionado anteriormente.

Reemplace $pageID y $videoID (post id) con sus variables.

"https://graph.facebook.com/v2.2/" . $pageID."_".$video->id . "/?fields=shares&access_token=YOUR_ACCESS_TOKEN";







facebook facebook-graph-api facebook-like