Ich möchte eine Liste von Benutzern erhalten, denen eine bestimmte Seite oder ein Fan davon gefällt.
In der FB-API-Dokumentation heißt es, dass Sie nur die Anzahl der Fans einer bestimmten Seite mithilfe des sozialen Diagramms ermitteln können, nicht jedoch eine Liste der Fans.
Eine Diskussion hier Abrufen von Facebook-Fan-Namen legt nahe, dass man eine FQL-Abfrage verwenden könnte SELECT user_id FROM like WHERE object_id="YOUR PAGE ID"
, um die Anzahl der Personen zu ermitteln, denen die Seite gefallen hat, aber für dieselbe Seite wird eine leere Antwort "{}" angezeigt.
Also habe ich mich gefragt, ob jemand eine Idee hat, ob dies möglich ist.
Antworten:
Es gibt eine "Möglichkeit", einen Teil der Fanliste mit ihren Profil-IDs einer Fanpage ohne Token zu erhalten.
ID einer Fanpage mit öffentlichen Diagrammdaten abrufen : http://graph.facebook.com/cocacola - Coca-Cola hat 40796308305.UPDATE 2016.04.30 : Facebook benötigt jetzt ein Zugriffstoken, um page_id über das Diagramm abzurufen, damit Sie die HTML-Syntax der Fanpage analysieren können um diese ID ohne Autorisierung vonhttps://www.facebook.com/{PAGENAME}
wie im folgenden Beispiel basierend auf den auf der Fanpage vorhandenen og-Tags zu erhalten.Wenn Sie nur an Profil-IDs interessiert sind, verwenden Sie die Grafik-API erneut. Sie erhalten die Profil-ID direkt: http://graph.facebook.com/michal.semeniukUPDATE 2016.04.30: Facebook benötigt jetzt ein Zugriffstoken, um solche Informationen zu erhalten. Sie können die HTML-Syntax des Profils analysieren, genau wie im ersten Schritt ist das Meta-Tag Ihr bester Freund:<meta property="al:android:url" content="fb://profile/{PROFILE_ID}" />
Und jetzt ist das Beste daran: Versuchen Sie, den Link in Punkt 2 zu aktualisieren (F5). Es gibt einen neuen vollständigen Satz weiterer Fans von Coca-Cola. Nehmen Sie nur Unikate und Sie werden in der Lage sein, eine nette, fast vollständige Liste der Fans zu bekommen.
- UPDATE 2013.08.06 -
Warum benutzt du nicht mein fertiges PHP-Skript, um ein paar Fans zu holen? :) :)
UPDATE 2016.04.30 : Das Beispielskript wurde aktualisiert, um neue Methoden zu verwenden, nachdem Facebook Zugriffstoken benötigt, um öffentliche Daten von der Grafik-API abzurufen.
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));
quelle
Sie können Fans mit der neuen Facebook-Suche erreichen: https://www.facebook.com/search/321770180859/likers?ref=about
quelle
Benutze das.
Es werden bis zu 500 der neuesten Likes zurückgegeben.
Jede Seite gibt Ihnen 100 Fans. Ändern Sie den Startwert in (0, 100, 200, 300, 400), um die ersten 500 zu erhalten. Wenn start> = 401 ist, ist die Seite leer :(
quelle
Laut der Facebook-Dokumentation ist es nicht möglich, alle Fans einer Seite zu erreichen:
quelle
Für die Antwort von s3m3n ist das Facebook-Fans-Plugin (z. B. LAMODA ) jetzt eingeschränkt. Bei kontinuierlichen Anfragen erhalten Sie immer weniger neue Fans. Sie können mein modifiziertes PHP-Skript ausprobieren, um die Ergebnisse zu visualisieren: https://gist.github.com/liruqi/7f425bd570fa8a7c73be#file-facebook_fans_by_plugin-php
Ein weiterer Ansatz ist die Facebook-Diagrammsuche. Auf der Suchergebnisseite: Personen, die Seiten mit dem Namen "Lamoda" mögen , öffnen die Chrome-Konsole und führen JavaScript aus:
Es würde neue Fans laden und Benutzer-ID / E-Mail drucken, alte DOM-Knoten entfernen, um einen Seitenabsturz zu vermeiden. Sie finden dieses Skript hier
quelle
Diese Seite https://developers.facebook.com/docs/reference/fql/like/ schrieb, Sie können keine Fanliste bekommen.
HINWEIS : Eine fql-ähnliche Abfrage ist veraltet
quelle
Technisch sollte diese FQL-Abfrage funktionieren, aber aus irgendeinem Grund lässt Facebook sie aufgrund eines fehlenden Index nicht zu. Ich bin mir nicht sicher, ob das an der Politik liegt oder ob sie es einfach vergessen haben.
quelle
Ich habe ein kleines Tool
luster
zum Herunterladen einer Liste mit "Likes" und "Followern" Ihrer Facebook-Seite erstellt.Nach dem Herunterladen und Entpacken des Archivs für Ihre Plattform können Sie es vom Terminal als ausführen
Wo
my-page-name
ist die Zeichenfolge Ihrer Facebook-Seite?Sie werden nach E-Mail und Passwort für Ihr Facebook-Konto gefragt. Beachten Sie, dass für dieses Konto eine der verfügbaren Seitenrollen erforderlich ist . Auch Analyst ist genug.
Nach einer Weile sollten Sie eine Ausgabe ähnlich der folgenden erhalten
Dieses Tool basiert auf einer Lesetabelle, die Sie im
Settings -> People and Other Pages
Abschnitt Ihrer Facebook-Seite finden.Beachten Sie, dass es auf Facebook-Seite ein Limit von bis zu 7.000 Ergebnissen gibt . Ich habe es auf zwei Seiten mit mehr als 20.000 Fans getestet und nicht mehr als 7.000 Ergebnisse erzielt.
Weitere Informationen finden Sie unter https://github.com/zladovan/luster .
quelle
Facebook FQL Dokumentation hier erfahren Sie , wie es zu tun. Führen Sie das Beispiel aus
SELECT name, fan_count FROM page WHERE page_id = 19292868552
und ersetzen Sie die page_id-Nummer durch die ID-Nummer Ihrer Seite. Der Seitenname und die Anzahl der Fans werden zurückgegeben.quelle