"Freunde online"-Liste bei Facebook einsehen
-
Hallo Forum!
Wie der Titel schon sagt, möchte ich gerne durch mein Programm
eine Liste Der Facebook-Kontakte, die online sind, erstellen bzw. auslesen, so wie z.B. ICQ das auch macht.
Ist das ohne große Umstände überhaupt realisierbar?Wenn ja, bleiben 2 Fragen:
1. Wie kann ich mich mit meinem Programm bei Facebook automatisch anmelden?
2. Wie komme ich an die genannte Liste?Schonmal vielen Dank im Voraus,
Chris_
-
Chris_ schrieb:
1. Wie kann ich mich mit meinem Programm bei Facebook automatisch anmelden?
Automatisch überhaupt nicht. Soweit ich weiß, ist der einzige Weg, den Facebook erlaubt, das Einbetten einer Webbrowser-Komponente, die eine bestimmte Seite anzeigt und die Weiterleitungs-URL abfängt.
Chris_ schrieb:
2. Wie komme ich an die genannte Liste?
Du wirst wohl die Facebook Graph API benutzen müssen.
Paweł Głowacki hatte auf der Delphi Live! am Mittwoch einen recht interessanten Vortrag mit all den Details dazu gehalten. Das Facebook-API überträgt Daten offenbar grundsätzlich im JSON-Format; für die einfache Benutzung von JSON gibt es in Delphi und C++Builder die Units DBXJSON.pas und DBXJSONReflect.pas (letzteres noch ohne Dokumentation in der Online-Hilfe, aber der komplette Sourcecode ist ausführlich mit Kommentaren ausgestattet). DBXJSON.pas stellt dabei ein Objektmodell zur Verfügung, das eine JSON-Datei repräsentiert (analog zu TXMLDocument/TXMLNode), und DBXJSONReflect.pas ermöglicht, handelsübliche Objekte nach JSON und zurück zu serialisieren.
Vielleicht macht Paweł seine Präsentation und die Beispielprogramme irgendwann öffentlich zugänglich; ansonsten kann man ihm sicherlich eine Mail schreiben und ihn um die Materialien bitten.
Ansonsten gibt es auch noch folgende Posts zur Verwendung von JSON in Delphi (in C++Builder geht es wie gewohnt analog):
http://blogs.embarcadero.com/adrian/2009/08/19/json-types-for-server-methods-in-datasnap-2010/
http://www.danieleteti.it/?p=189
http://www.danieleteti.it/?p=146Disclaimer: Es kann sein, daß die JSON-Units - da sie offenbar irgendwie dbExpress oder DataSnap zugerechnet werden - nur in der Enterprise-Edition oder höher auftauchen. Wenn du nur die Pro-Edition hast, schau bitte zuerst nach, ob die Units vorhanden sind.
-
Danke für die ausführliche Hilfe,
ich werde mich dann mal damit beschäftigen.MfG
Chris_