Facebook Graph Data Extractor (fbstalk [Alpha*])

Geschrieben am 11.05.2010 in Code Works, Freebies, Social Networks

fbstalk ist ein Script zur Abfrage von Daten der Facebook Graph Api! Unter anderem kann man User suchen, derren Wall betrachten und sehen was diese user gerne Mögen, welche Gruppen sie beiwohnen und auf welche Events sie eingeladen werden.

Nachdem klar wurde was die Facebook Graph Api alles kann, wollte ich mir auf keinen Fall nehmen lassen das bis ins letzte auszunutzen. Ich gehe stark davon aus das die meisten Facebook User nie wieder einen Job bekommen würden wenn alle Chefs der Welt dieses Script hätten! Es kann aber auch nützlich sein wenn man sein Profil aufräumen möchte und erkennt das Facebook einen das jetzt nicht mehr wirklich ermöglicht. Oder dem Namen nach, einfach zum stalken… ^^

Update:// Jetzt mit Token Spiegel Server!

Von mir aus könnt ihr mit dem Script machen was ihr wollt! Wenn ihr es im Netz weiter gebt möchte ich allerdings das ihr auf diese Page verlinkt und nicht auf das Script selbst.

Ich gehe hier von Linux aus, wer das Script in anderen Systemen nutzen will muss es selbst ändern… Sorry baue an einer Plattformübergreifenden Applikation!

Also wie gesagt nutze ich dafür einfach die Facebook Graph Api, das Script selbst ist in Ruby.

Abhängigkeiten Installieren

sudo apt-get install ruby rubygems
sudo gem install colored
sudo gem install hpricot
sudo gem install json

Sorry für die colored abhängigkeit, nur da kommen sooo viele Daten teilweise das es einfach seine Farbliche Ordnung braucht!

Installation
Vereinfacht geht die installation so:

sudo ./fbstalk.rb install

Manuell so:

sudo cp ./fbstalk.rb /usr/bin/fbstalk
sudo chmod 755 /usr/bin/fbstalk
touch ~/.fbstalk

Verwendung

Wenn man den Installations Schritt nicht machen will / kann ruft man das Script immer folgendermassen in der Shell auf:

ruby /path/to/fbstalk.rb find anybody

Dann muss man einen Token setzen. Facebook möchte das man dafür eine Applikation Registriert und sich dann umständlich Authentifiziert (wirklich umständlich… die haben ja keine Ahnung xD)… Ich will das jedenfalls nicht und mache das einfach folgendermassen

Eigenen Token bekommen:

  • http://developers.facebook.com/docs/api – als in Facebook eingeloggter Besuchen
  • Den allerersten Link auf der Seite klicken (im 2. Textblock – https://graph.facebook.com/****).
  • Den Teil hinter “?access_token=” kopieren
  • Nun hat man seinen TOKEN

oder mit folgender Funktion.

Token vom Token-Spiegelserver:

fbstalk token get
EXPERIMENTELL! Hier ist die suche aber ungenauer. Sonst wäre sie auf eure Umgebung eingestellt
Token setzen:

fbstalk token "TOKEN"

Token lesen:

fbstalk token show

Personen suchen:

fbstalk find anybody@example.com
fbstalk find anybody somebody

Personen suchen mit Geschlecht und Geburtsdatum in der Ausgabe wenn möglich:

fbstalk dfind anybody@example.com
fbstalk dfind anybody somebody

Info über eine Person (Url Prefix oder ID)

fbstalk info anybody
fbstalk info 154574621
Hier hatte ich teilweisse eine viel Detailierter Ausgabe, dann nicht mehr.. gehe dem nach!

Wall von einem User (Url Prefix oder ID)

fbstalk wall anybody
fbstalk wall 156421355
Leider / Gottseidank recht oft gesperrt für aussen

Gruppen eines Users (Url Prefix oder ID)

fbstalk groups 1515421332
fbstalk groups anybody
Funktioniert nur bei Freunden des Token ursprungs

“Likes” eines Users (Url Prefix oder ID)

fbstalk like anybody
fbstalk like 154654654
Funktioniert absolut uneigeschrenkt bei jedem!

Events zu denen ein User eingeladen wurde (Url Prefix oder ID)

fbstalk events 1565465465
fbstalk events anybody
Die Antwort des Users muss momentan noch Manuell geprüft werden

Bekannte Fehler

bad URI(is not URI?)

/usr/lib/ruby/1.8/uri/common.rb:436:in `split': bad URI(is not URI?): ...

Dieser Fehler weisst auf einen fehlerhaften Token hin. Kommt gern wenn man den token vom Spiegel Server mit token get holt!

500 Internal Server Error

/usr/lib/ruby/1.8/open-uri.rb:277:in `open_http':
500 Internal Server Error (OpenURI::HTTPError) ...

Die häufigste Ursache hierfür ist ein Abgelaufener, oder auch ein Total Falscher Token.

Weitere Fehler, Fragen oder Anregungen, bitte posten!

Related Articles:


Abonniere RSSFolge mir auf Twitter
Dir gefällt der Artikel? Dir gefällt mein Blog?
Dann bleib immer auf dem neuesten Stand mit Twitter oder RSS!
» Und Hinterlasse mir ein Kommentar!

Share Twitter Facebook Digg Reddit Stumbleupon Del.icio.us Technorati


Tags: , , , , , , , , ,


5 Kommentare zu “Facebook Graph Data Extractor (fbstalk [Alpha*])”

  1. *hofft auf eine noob version die ohne kommandozeilen action auskommt*


  2. Admin

    Hey Härbärt! Wird kommen, mal schaun wann ich Zeit finde… Is nur gleich 10 mal so viel Arbeit das auf allen Systemen laufen zu lassen. Ausser mit Java oder so… nja mal schaun ^^

    Die Leute sollen sich endlich nicht mehr sicher fühlen auf Facebook, da helfe ich gerne nach!


  3. Hi

    irgendwie bekomm ich das mit dem Token nicht hin. Hab mich dort angemeldet weis aber nicht was du jetzt genau unter “Den allerersten Link auf der Seite klicken.” meinst. Vielleicht kannst ja etwas genauer für mich erklären ;)

    Danke

    Kai


  4. Admin

    Habs oben up-ge-dated.

    “im 2. Textblock – https://graph.facebook.com/****”
    Eigentlich kannst du jeden Graph beispiel link klicken, da hängt immer der Token dran… Leider kann ich das nicht einfacher gestalten, ohne es noch komplizierter zu machen.

    Der Token hat volle Rechte, um das selbe auf den von Facebook gewollten weg erreichen, müsstet ihr einen speziellen Facebook Link besuchen, dort x-mal auf “Akzeptieren klicken” und am ende doch wieder den Token aus der URL Kopieren… nja… Und wenn er sich nicht ständig ändern würde…

    Dar das Script aber so viel Anklang fand, kommt warscheinlich schon morgen eine GUI Version für Windows und Linux. Vieleicht mit einem Token Spiegelserver wenn Facebook mir da nicht dreinpfuscht ^^

    Wer gerne Beta-testen möchte soll sich bei mir melden, wär Praktisch vorm release!


    • Admin

      Gui braucht noch ein bisschen, aber auf jeden Fall gibs einen Token Spiegel Server auf einen Dummie Account mit einigen Tausend Connections (Freunde und Freundesfreunde).

      Bau den mal schell auch in das Script mit ein.



Hinterlasse mir ein Kommentar

Fetter Dubstep, check it our!