ver perfil para paginas pagina page mejorar insights estadisticas empresas empresa crear como analizar facebook facebook-graph-api facebook-like facebook-page facebook-fan-page

perfil - Facebook API: obtén fans de/personas a las que les gusta una página



facebook para empresas (8)

Me gustaría obtener una lista de usuarios a los que les guste una página determinada o fanáticos de ella.

La documentación de FB API establece que solo se puede obtener el conteo de los fanáticos de una determinada página usando el gráfico social, pero no una lista de los fanáticos.

Una discusión aquí Recuperar Facebook Fan Names sugiere que se podría usar una consulta FQL como SELECT user_id FROM like WHERE object_id="YOUR PAGE ID" para obtener el número de personas a las que les gusta la página, pero para la misma página da una respuesta vacía "{}".

Entonces me preguntaba si alguien tiene una idea si esto puede hacerse.


De acuerdo con la documentación de Facebook, no es posible obtener todos los fanáticos de una página:

Aunque no puede obtener una lista de todos los fanáticos de una página de Facebook, puede averiguar si a una persona específica le ha gustado una página.


Esta página https://developers.facebook.com/docs/reference/fql/like/ escribió, no se puede obtener la lista de fanáticos.

"Los objetos API Post, Video, Note, Link, Photo y Album Graph contienen una conexión equivalente llamada Me gusta".

NOTA: la consulta fql like está en desuso


Hay una "manera" de obtener una parte de la lista de fans con sus identificadores de perfil de algunas fanpage sin token.

  1. Obtenga una identificación de una fanpage con datos de gráficos públicos: http://graph.facebook.com/cocacola - Coca-Cola tiene 40796308305. ACTUALIZACIÓN 2016.04.30 : Facebook ahora requiere token de acceso para obtener page_id a través del gráfico para que pueda analizar la sintaxis HTML de fanpage para obtener esta identificación sin ninguna autorización de https://www.facebook.com/{PAGENAME} como en el siguiente ejemplo basado en las etiquetas de og presentes en la página de fans.
  2. Obtenga el iframe "like plugin" de Coca-Cola que se muestra directamente con algunos parámetros modificados: http://www.facebook.com/plugins/fan.php?connections=100&id=40796308305
  3. Ahora consulte las fuentes de la página, hay muchos fanáticos con enlaces a sus perfiles, donde puede encontrar sus identificaciones de perfil o apodos como: http://www.facebook.com/michal.semeniuk .
  4. Si solo está interesado en los identificadores de perfil, vuelva a utilizar la API del gráfico: le proporcionará su ID de perfil directamente: http://graph.facebook.com/michal.semeniuk ACTUALIZACIÓN 2016.04.30: Facebook ahora requiere token de acceso para obtener dicha información. Puede analizar la sintaxis HTML del perfil, al igual que en el primer paso, la metaetiqueta es su mejor amigo: <meta property="al:android:url" content="fb://profile/{PROFILE_ID}" />

Y ahora es la mejor parte: intente actualizar (F5) el enlace en el punto 2 .. Hay un nuevo conjunto completo de otros fanáticos de Coca-Cola. Toma solo los únicos y podrás obtener una buena lista de admiradores casi completa.

- ACTUALIZACIÓN 2013.08.06 -

¿Por qué no usas mi script PHP listo para buscar algunos fans? :)

ACTUALIZACIÓN 2016.04.30 : Script de ejemplo actualizado para usar nuevos métodos después de que Facebook comenzó a requerir el token de acceso para obtener datos públicos de la API api.

function fetch_fb_fans($fanpage_name, $no_of_retries = 10, $pause = 500000 /* 500ms */){ $ret = array(); // prepare real like user agent and accept headers $context = stream_context_create(array(''http'' => array(''header'' => ''User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/49.0.2623.108 Chrome/49.0.2623.108 Safari/537.36/r/nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8/r/nAccept-encoding: gzip, deflate, sdch/r/nAccept-language: en-US,en;q=0.8,pl;q=0.6/r/n''))); // get page id from facebook html og tags for mobile apps $fanpage_html = file_get_contents(''https://www.facebook.com/'' . $fanpage_name, false, $context); if(!preg_match(''{fb://page/(/d+)}'', $fanpage_html, $id_matches)){ // invalid fanpage name return $ret; } $url = ''http://www.facebook.com/plugins/fan.php?connections=100&id='' . $id_matches[1]; for($a = 0; $a < $no_of_retries; $a++){ $like_html = file_get_contents($url, false, $context); preg_match_all(''{href="https?://www/.facebook/.com/([a-zA-Z0-9/._-]+)" class="link" data-jsid="anchor" target="_blank"}'', $like_html, $matches); if(empty($matches[1])){ // failed to fetch any fans - convert returning array, cause it might be not empty return array_keys($ret); }else{ // merge profiles as array keys so they will stay unique $ret = array_merge($ret, array_flip($matches[1])); } // don''t get banned as flooder usleep($pause); } return array_keys($ret); } print_r(fetch_fb_fans(''TigerPolska'', 2, 400000));


La documentación FQL de Facebook here le dice cómo hacerlo. Ejecute el ejemplo SELECT name, fan_count FROM page WHERE page_id = 19292868552 y reemplace el número de page_id con el número de identificación de su página y devolverá el nombre de la página y el número de seguidores.


Para la respuesta de s3m3n, el complemento de fans de Facebook (por ejemplo, LAMODA ) tiene limitaciones ahora, cada vez tienes menos fans en solicitudes continuas. Puede probar mi script PHP modificado para visualizar los resultados: https://gist.github.com/liruqi/7f425bd570fa8a7c73be#file-facebook_fans_by_plugin-php

Otro enfoque es la búsqueda de gráficos de Facebook. En la página de resultados de búsqueda: las personas a las que les gustan las páginas llamadas "Lamoda" , abren la consola de Chrome y ejecutan JavaScript:

var run = 0; var mails = {} total = 3000; //滚动次数,可以自己根据情况定义 function getEmails (cont) { var friendbutton=cont.getElementsByClassName("_ohe"); for(var i=0; i<friendbutton.length; i++) { var link = friendbutton[i].getAttribute("href"); if(link && link.substr(0,25)=="https://www.facebook.com/") { var parser = document.createElement(''a''); parser.href = link; if (parser.pathname) { path = parser.pathname.substr(1); if (path == "profile.php") { search = parser.search.substr(1); var args = search.split(''&''); email = args[0].split(''='')[1] + "@facebook.com/n"; } else { email = parser.pathname.substr(1) + "@facebook.com/n"; } if (mails[email] > 0) { continue; } mails[email] = 1; console.log(email); } } } } function moreScroll() { var text=""; containerID = "BrowseResultsContainer" if (run > 0) { containerID = "fbBrowseScrollingPagerContainer" + (run-1); } var cont = document.getElementById(containerID); if (cont) { run++; var id = run - 2; if (id >= 0) { setTimeout(function() { containerID = "fbBrowseScrollingPagerContainer" + (id); var delcont = document.getElementById(containerID); if (delcont) { getEmails(delcont); delcont.parentNode.removeChild(delcont); } window.scrollTo(0, document.body.scrollHeight - 10); }, 1000); } } else { console.log("# " + containerID); } if (run < total) { window.scrollTo(0, document.body.scrollHeight + 10); } setTimeout(moreScroll, 2000); }//1000为间隔时间,也可以根据情况定义 moreScroll();

Cargaría nuevos ventiladores e imprimiría la identificación de usuario / correo electrónico, eliminaría los antiguos nodos DOM para evitar el bloqueo de la página. Puede encontrar este script here



Técnicamente, esta consulta FQL debería funcionar, pero por alguna razón, Facebook no la permite debido a la falta de un índice. No estoy seguro si eso se debe a una política o simplemente lo olvidaron.

SELECT uid FROM page_fans WHERE page_id="YOUR_PAGE_ID"


Utilizar esta.

https://www.facebook.com/browse/?type=page_fans&page_id=<your page id>

Devolverá hasta 500 de los "me gusta" más recientes.

http://www.facebook.com/browse/?type=page_fans&page_id=<your page id>&start=400

Cada página te dará 100 fanáticos. Cambie el valor de inicio a (0, 100, 200, 300, 400) para obtener los primeros 500. Si el inicio es> = 401, la página estará en blanco :(