2011-03-03 3 views
23

mi chiedevo se era possibile interrogare la seguente:Interrogazione Gli utenti che hanno 'come' la mia pagina Facebook

  • Elenco di (tutti) gli utenti che amano la mia pagina di Facebook, e
  • Ulteriori informazioni quegli utenti hanno reso disponibili al pubblico (oltre il nome e cognome)

Fondamentalmente cercando di generare statistiche di marketing dettagliate degli utenti che amano la mia pagina di Facebook, se possibile. Qualsiasi suggerimento o alternativa benvenuto.

Grazie.

+0

Ecco [la risposta migliore] [1] che ho trovato sull'argomento. E 'anche darvi uno script PHP [1]: http://stackoverflow.com/a/10906320/244911 –

+0

possibile duplicato del [API di Facebook: ottenere i fan di/persone che amano una pagina] (http : //stackoverflow.com/questions/4018849/facebook-ap-get-fans-of-people-who-like-a-page) –

risposta

30

Ho paura che questo sia NON possibile, segui questo bug per ulteriori informazioni.

Un'altra prova è la tavola page_fan si noterà che solo il campo uid è indicizzabile in modo da necessità di conoscere l'ID utente di cercare e non il page_id, come sapete se un utente "piace" un pagina questo significherebbe che è un "fan" di quella pagina.


Dopo essere stato a lavorare attivamente con l'API di Facebook per un po ', e dopo gli annunci e rilascia API (e deprecati) lungo con l'introduzione e cambiamenti delle politiche, io posso capire che Facebook sarà solo Condividi informazioni sui loro utenti facendoli esplicitamente fare (ovvero interagire/autorizzare le tue app).

E quindi la cosa migliore da fare in mancanza di tale caratteristica è:

  1. capire il vostro pubblico attraverso Page Insights
  2. fan Raccogliere interessi & informazioni con la creazione di applicazioni personalizzate attraverso Page Tabs e l'utilizzo di altri Facebook caratteristiche come Questions
+2

Sono d'accordo che ciò non è possibile.Ho provato ogni possibile permutazione di chiamate, permessi, token di accesso ecc. Che potrebbero fornirti un elenco di fan/mi piace di una pagina negli ultimi due giorni senza successo. Chiunque dica di essere in grado di farlo, in realtà non l'ha provato o deve aver ottenuto in qualche modo un beta test dell'abilità come descritto nel link alla pagina dei bug. –

+5

Il nuovo URL di questo bug è https://developers.facebook.com/bugs/147185208750426 –

-8

Si può ottenere usando facebook grafico aperto.

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

Ad esempio:

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

È necessario inviare chiamata API grafico utilizzando "id" per maggiori dettagli su utente che come te pagina.

Tuttavia, questa chiamata recupererà gli altri oggetti di Facebook che la pagina (Chickfila) ha gradito, NON gli utenti a cui è piaciuta la pagina Chickfila.

+9

che ottiene le cose che piace a chickfila; non a chi piace chickfila. –

+0

Sì, hai ragione. Ma otteniamo user_id che viene utilizzato per ottenere il nome –

11

Va bene, nessuno vuole rompere di Facebook TOS ma hanno legato le mani sui nostri dati di base. Quindi, raschiare è illegale, ma non salvare una pagina. Quello che ho fatto (e si noti che avevo bisogno di questo per scopo offline in ogni caso): Vai https://www.facebook.com/browse/?type=page_fans&page_id= {FAN PAGE ID} Scorrere verso il basso fino ad avere tutti i tuoi fan. Salva questa pagina sul tuo computer locale, ad esempio Facebook.html. Ora, usando il rubino e 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

mostra che è una pagina privata e non posso Accedilo – lulu

+0

mostra "Questo è un post privato. Non puoi visualizzare questo post, perché la persona non l'ha condiviso pubblicamente". – lulu

+0

Lo stai facendo per una Fan Page che possiedi? –

5

fare una ricerca grafico piace questo: "coloro che hanno preferito [nome della tua fanpage]". Avrai tutto il risultato.

Quindi creare collegamento sul browser con questo codice javascript, si clicca sul Visualizza altro collegamento e lo scorrimento fino a quando tutti risultato sono mostrati nella pagina:

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

Dopo di che, creare altra scorciatoia ed eseguire questo codice js per recuperare tutti i UID dal risultato della ricerca: apparirà

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>"; 

Una casella textarea nella schermata con tutti i uid all'interno. Basta copiarlo sul blocco note e importarlo nel pubblico personalizzato in Ad Manager di Facebook.

ho creato e utilizzando questo codice di tutti i giorni per ottenere tutte UID con Criterial ho bisogno. È possibile avviare qualsiasi ricerca di grafici che si desidera. Questo è un codice fatto in casa, in modo da utilizzarlo senza la propria responsabilità :)

Buona visione.

+0

Il tuo secondo codice non ha funzionato per me, quindi ho modificato (classe e attributo), questo funziona: 'javascript: var txt =" "; e = document.getElementsByClassName (" lfloat "); per (var i = 0; i "; ' –

2

Ora si può convincere la gente sulla tua pagina con questo link, oppure fare clic sul pulsante Impostazioni, che sulla gente sulla barra laterale sinistra. https://www.facebook.com/[PAGENAME]/settings/?tab=people_and_other_pages

Se si desidera ottenere tutte le foto, premere F12 per l'utente e aggiungere questi codici alla 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(); 

che, quando hai raggiunto la parte inferiore della pagina:

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>"; 

Per visualizzare le foto: crea una pagina HTML e inserisci prima queste righe nel file:

<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

Quindi creare collegamento sul browser con questo codice javascript, si clicca sul Visualizza altro collegamento e lo scorrimento fino a quando tutti seguito sono riportati nella pagina:

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

Dopo di che, creare altra scorciatoia ed eseguire questo js codice recuperare tutto l'UID dal risultato della ricerca:

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);