2011-03-03 3 views
23

je me demandais s'il était possible d'interroger les éléments suivants:Interrogation Les utilisateurs qui 'comme mon Page Facebook

  • Liste des (tous) les utilisateurs qui aiment ma page facebook, et
  • Informations complémentaires les utilisateurs ont mis à la disposition du public (au-delà du nom et prénom)

Fondamentalement à la recherche de générer des statistiques de marketing détaillées des utilisateurs qui aiment ma page facebook, si possible. Toutes suggestions ou alternatives sont les bienvenues.

Merci.

+0

Voici la [meilleure réponse] [1] que j'ai trouvée sur le sujet. Il vous donne même un script PHP [1]: http://stackoverflow.com/a/10906320/244911 –

+0

double possible de [API Facebook: Obtenez les fans de/personnes qui aiment une page] (http : //stackoverflow.com/questions/4018849/facebook-api-get-fans-of-people-who-like-a-page) –

Répondre

30

Je crains que ce soit PAS possible, suivez ce bug pour plus d'informations.

Une autre preuve est la table page_fan vous remarquerez que seul le champ uid est indexable afin que vous besoin de connaître l'ID utilisateur de rechercher et de ne pas le page_id, comme vous le savez si un utilisateur « aime » un page cela signifierait qu'il est un "fan" de cette page.


Après avoir travaillé activement avec l'API Facebook pour un certain temps maintenant, et en suivant les annonces et les versions de l'API (et deprecations) ainsi que l'introduction et les changements des politiques, je peux comprendre que Facebook ne part informations sur leurs utilisateurs en les laissant explicitement le faire (aka interagir/autoriser vos applications).

Et donc la meilleure chose à faire en l'absence de cette fonction est:

  1. Comprendre votre public par Page Insights
  2. ventilateurs attirent intéresse & informations en créant des applications personnalisées grâce à Page Tabs et en utilisant d'autres Facebook fonctionnalités telles que Questions
+2

Je suis d'accord que ce n'est pas possible.J'ai essayé toutes les permutations possibles d'appels d'api, d'autorisations, de jetons d'accès, etc. qui pourraient vous fournir une liste des fans/likes d'une page au cours des deux derniers jours sans succès. Tous ceux qui disent qu'ils sont capables de faire cela n'ont pas vraiment essayé ou doivent en quelque sorte avoir eu un test bêta de la capacité comme décrit dans votre lien vers la page de bug. –

+5

La nouvelle URL de ce bug est https://developers.facebook.com/bugs/147185208750426 –

-8

Vous pouvez l'obtenir en utilisant le graphique ouvert de facebook.

https://graph.facebook.com/<your-page-name-or-page-id>/likes

Par exemple:

https://graph.facebook.com/chickfila/likes

Vous devez envoyer graphique appel à l'aide api "id" pour plus de détails sur l'utilisateur qui comme vous la page.

Cependant, cet appel récupérera les autres objets Facebook que la page (Chickfila) a aimé, PAS les utilisateurs qui ont aimé la page Chickfila.

+9

qui obtient les choses que chickfila aime; pas qui aime chickfila. –

+0

Oui, vous avez raison. Mais nous obtenons user_id qui est utilisé pour obtenir le nom –

11

D'accord, personne ne veut casser les TOS de Facebook, mais ils ont lié nos propres données de base. Donc, gratter est illégal, mais pas enregistrer une page. Ce que j'ai fait (et notez que j'avais besoin de cela pour un usage hors ligne de toute façon): Passez à https://www.facebook.com/browse/?type=page_fans&page_id= {FAN PAGE ID} Faites défiler jusqu'à ce que vous avez tous vos fans. Sauvegardez cette page sur votre machine locale, disons Facebook.html. Maintenant, en utilisant le rubis et nokogiri:

require 'nokogiri' 
>true 
f = File.open('/your_path/Facebook.html') 
doc = Nokogiri::HTML.parse(f.read) 
doc.xpath('//div[@class="fsl fwb fcb"]/a').each {|link| puts link.content} 
+0

il montre que c'est une page privée et je ne peux pas l'accès – lulu

+0

il montre "Ceci est un post privé Vous ne pouvez pas afficher ce post, parce que la personne ne l'a pas partagé publiquement." – lulu

+0

Le faites-vous pour une page de fans que vous possédez? –

5

Faites une recherche graphique aime ceci: « Les gens qui aiment [le nom de votre fanpage] ». Vous allez tous le résultat.

Ensuite, créer un raccourci sur votre navigateur avec ce code javascripts, il cliquera sur la vue plus lien et le défilement jusqu'à ce que tous les résultats sont présentés dans la page:

javascript: i = 0;minutes = 30;counter = minutes * 60;function repeatScroll() { 
if (i < counter) {window.scrollTo(0, document.body.scrollHeight);i++;}  
setTimeout(repeatScroll, 1000);}repeatScroll(); 

Après cela, créer un autre raccourci et exécuter ce le code js pour récupérer tous les UID du résultat de la recherche:

javascript:var txt="";e=document.getElementsByClassName("FriendRequestOutgoing"); 
for(var i=0; i<e.length; i++) {v=e[i].getAttribute("data-profileid"); 
if(v) txt+=v+"\n"}document.body.innerHTML="<textarea>"+txt+"</textarea>"; 

Une boîte textarea apparaîtra dans l'écran avec tous uid intérieur. Copiez-le simplement dans votre bloc-notes et importez-le dans votre gestionnaire d'annonces Facebook personnalisé.

J'ai créé et utilisé ce code tous les jours pour obtenir tous les UID avec les critères dont j'ai besoin. Vous pouvez lancer une recherche de graphique souhaitée. Ceci est un code fait maison, donc l'utiliser sans votre propre responsabilité :)

Profitez-en.

+0

Votre deuxième code n'a pas fonctionné pour moi, donc j'ai édité (classe et attribut), cela fonctionne: 'javascript: var txt =" "; e = document.getElementsByClassName (" lfloat "); pour (var i = 0; i "; ' –

2

Vous pouvez désormais placer des personnes sur votre page avec ce lien, ou cliquer sur le bouton Paramètres, plutôt que sur Personnes dans la barre latérale de gauche. https://www.facebook.com/[PAGENAME]/settings/?tab=people_and_other_pages

Si vous souhaitez obtenir toutes les photos de l'utilisateur, appuyez sur F12 et ajouter ces codes à la console:

javascript:i=0;minutes=30;counter=minutes*60;function repeatScroll(){if(i<counter){window.scrollTo(0, document.body.scrollHeight);i++;}setTimeout(repeatScroll,1000);}repeatScroll(); 

que, lorsque vous avez atteint le bas de la page:

javascript:var txt="";e=document.getElementsByClassName("img"); for(var i=0; i<e.length; i++) {v=e[i].getAttribute("src"); if(v) txt+="<img src='"+v+"'>\n"}document.body.innerHTML="<textarea>"+txt+"</textarea>"; 

Pour afficher les photos: créez une page HTML et insérez d'abord ces lignes dans ce fichier:

<meta charset="utf-8"> 
<style>img { width:21px; margin:-1px; }</style> 
<div style="width:851px; height:315px;background-color:white;"> 
<!-- PASTE HERE PHOTOS' CODE YOU GET --> 
<span style="color:#3B5998;font-weight:bold;font-size:20px;margin-bottom:4px;">600 like, thank you!</span> 
<!-- PASTE HERE PHOTOS' CODE YOU GET -->  
</div> 
0

Ensuite, créer un raccourci sur votre navigateur avec ce code javascript, il cliquera sur la vue plus lien et le défilement jusqu'à ce que tous les résultats sont présentés dans la page:

i = 0; 
minutes = 30; 
counter = minutes * 60; 
function repeatScroll() { 
    if (i < counter) { 
     window.scrollTo(0, document.body.scrollHeight); 
     i++; 
    }  
    setTimeout(repeatScroll, 1000); 
} 
repeatScroll(); 

Après cela, créer un autre raccourci et exécuter ce js code récupérer tous les UID du résultat de la recherche:

var e=document.getElementsByClassName("fsl fwb fcb"); 
var ids = []; 
for(var i = 0 ; i < e.length; i++){ 
    ids.push(JSON.parse(e[i].childNodes[0].getAttribute("data-gt")).engagement.eng_tid); 
} 
console.log(ids); 
Questions connexes