2010-01-04 5 views
21

Ich versuche, die Namen von Fans einer Facebook-Fanpage zu erfassen, die ich verwalte. Ich habe ein bisschen herumgeschnüffelt und anscheinend unterstützt die FB API das nicht, aber Facebook verwendet tatsächlich AJAX/JSON, um die Liste zu füllen. Wie auch immer, kann jemand einen Weg vorschlagen, den Anruf selbst zu machen und die Daten als Klartext zu greifen?Abrufen von Facebook-Fan-Namen

Außerdem habe ich einen Hack gefunden, den ein Typ in Ruby geschrieben hat, aber ich bin mit der Sprache völlig nicht vertraut.

Danke für die Hilfe im Voraus!

+3

Was die URL der Rubys hack – cdmckay

Antwort

-1
SELECT first_name, last_name FROM user WHERE uid IN (SELECT uid FROM page_fan WHERE page_id = [your page id]) 

Dies sollte funktionieren, aber ich erhalte eine Fehlermeldung versucht, dies durch die .net facebook api ... etwas über die laufen, wo Klausel nicht auf einer Wende Säule sein, die es ist.

Vielleicht versuchen Sie es auf Ihrer Plattform.

+1

Nee, ist die page_id keine Wende Spalte auf der page_fan Tabelle Wie hier zu sehen: http:. //developers.facebook.com/docs/reference/fql/page_fan. Nur * Spalten sind indiziert. – ajbeaven

6

Zum gegenwärtigen Zeitpunkt würde das FQL-Schema vorschlagen, dass es keine Möglichkeit gibt, eine Sammlung von FANS für eine bestimmte PAGE zu erhalten. Ich denke, sie verstecken diese Informationen, weil sie die FANS auf der Seite anzeigen ... Man würde denken, dass zumindest der ADMIN Privilegien hätte, die Liste der Benutzer zu sehen.

Wie auch immer ... Ich hoffe, dass jemand in der nahen Zukunft möglich ist.

-2

Dass man arbeitete

SELECT user_id FROM like WHERE object_id="YOUR PAGE ID" 
+2

object_id funktioniert nicht für Seiten-IDs ... "Die Objekt-ID eines Objekts auf Facebook. Dies kann ein Video sein, Notiz , Link, Foto oder Foto a lbum. "https://developers.facebook.com/docs/reference/fql/like/ – billy

5

können Sie bitte dieses versuchen und lassen Sie mich wissen:

select uid,name from user where uid in (select uid from page_fan where uid in (select uid2 from friend where uid1 = me()) and page_id = 'Your Page Id') 

Ich denke, man es nur bekommen kann für die aktuell angemeldeten Benutzers und sein/ihr nur Freunde .

+1

Das funktioniert, aber es ist ziemlich nutzlos - es bekommt nur eine Liste deiner Freunde, denen die Seite auch gefallen hat. – Kon

+0

Es funktioniert. Es gibt uid und name. Von UID aus können Sie auf die erforderlichen Benutzerdetails zugreifen. Vielen Dank. –

3

Wenn Sie weniger als 500 Fans haben, können Sie die folgende URL:

http://www.facebook.com/browse/?type=page_fans&page_id=13207908137&start=400

Jede Seite erhalten Sie 100 Fans geben. Ändern & starten (0, 100, 200, 300, 400) zu erhalten, die ersten 500. Wenn & Start ist> = 401, wird die Seite leer sein :(

+2

Eine andere Sache, die Sie beachten sollten, ist, dass Sie die aktuellste Liste der Fans/Likes erhalten. Wenn Sie also regelmäßig & start = 0 aufrufen, erhalten Sie alles ... sofern Sie das Skript vom ersten Tag an ausführen. – aalaap

+1

Es ist gegen die [Facebook Plattform Politik] (https://developers.facebook.com/policy/), eine Facebook-Seite für Informationen zu kratzen. –

+0

Dies ist offensichtlich, aber die ID muss durch die Seiten-ID Ihrer Seite ersetzt werden. Sie finden Ihre Seiten-ID hier: http: // findyfacebookid.com/ – philipthegreat

-1

Ich fand, dass im doc: http://developers.facebook.com/docs/reference/fql/page_fan/

?

uid - „die Benutzer-ID, die die Seite abgefragten gemocht hat“

+0

Dies beantwortet die Frage überhaupt nicht wirklich. Er sucht nach den Benutzernamen, nicht nach der ID. – Patricia

+0

Können Sie die Benutzernamen nicht von der UID abrufen? –