Wer häufig und regelmäßig auf Facebook unterwegs ist und einen breiten Freundeskreis besitzt, trifft sie des Öfteren: Einladungen und vollgepostete Walls von Spielen (oder Glückskeksen) – und genau diese sind auch in der Regel die initialen Einstiegspunkte für neue User, schließlich muss das, was mir jemand aus meinem Freundeskreis empfiehlt oder selbst nutzt, ja interessant sein, und man will ja auch mitreden können und ebenfalls sein Motto des Tages auf der eigenen Wall mitteilen. Nicht zuletzt fließt in so manche Applikation auch reales Geld, und wer zahlt, kommt wieder und macht auch in Zukunft weiter fleißig Werbung. Für Anwendungsentwickler ist es also ein attraktives Mittel, mit der eigenen Anwendung möglichst schnell einen soliden Kundenstamm zu generieren. Aber wie erstellt man Facebook-Anwendungen und wie findet man möglichst schnell den Einstieg, um die angebotenen Möglichkeiten auch ausnutzen zu können?
Genesis
Der Einstiegspunkt zum Verwalten Ihrer Anwendungen ist http://www.facebook.com/developers/. Zum Erstellen benötigen Sie lediglich einen Namen für Ihre neue Applikation und einen über Handy- oder Kreditkartennummer verifizierten Account. Facebook hostet selbst keine Drittanwendungen, was eine eigene Umgebung voraussetzt, auf der Ihre Applikation ausgeführt wird. In der weiteren Konfiguration (Abb. 1) werden sie daher dazu aufgefordert, einen URL unter [B] anzugeben, sodass ihre Anwendung auf Ihrem Server von Facebook per IFrame eingebunden werden kann. In [A] geben Sie einen weiteren Namen an, unter der Facebook Ihre Anwendung verlinken soll. Sofern Ihr Server standardmäßig eine Ausgabe liefert, sollte diese nach dem Speichern auf http://apps.facebook.com/ [A] bereits sichtbar sein.

Abb. 1: Konfiguration der Facebook-Applikation (Vergrößern)
Integration
Um von PHP aus auf Facebook zugreifen zu können, stellt Facebook ein PHP SDK zur Verfügung. Die Integration ist denkbar einfach (Listing 1) und erfordert nur ihre Anwendungs-ID und Ihren Anwendungsgeheimcode, den Sie in der Konfiguration (Abb. 1) finden.
try{require './facebook.php';} catch(Exception $e){echo "<pre>" . print_r($e) . "</pre>";}$facebook = new Facebook(array('appId' => '[Anwendungs-ID]','secret' => '[Anwendungs-Geheimcode]','cookie' => true,));
Listing 1
Über die so initialisierte Facebook-Klasse besteht damit die Möglichkeit, mit dem Facebook-Universum zu kommunizieren. Um jedoch auf Daten des Users zugreifen oder etwas an seine Wall posten zu dürfen, benötigen Sie zuvor die Autorisierung des Users (Listing 2), der dafür auf einen über das SDK generierten URL umgeleitet wird (Abb. 2). Nachdem Facebook sehr auf Datenschutz bedacht ist, müssen und können Sie hierbei feingranular benötigte Rechte anfordern. Eine vollständige und umfassende Liste finden Sie in der Dokumentation zu erweiterten Rechten. In unserem Beispiel beschränken wir uns darauf, auf eine E-Mail-Adresse zugreifen zu dürfen (email), sowie Schreibzugriff (Kommentieren, Posten, Gefällt mir etc.) auf die Wall des Users zu bekommen (publish_stream). Nach diesem Autorisierungsvorgang wird der User automatisch auf die Adresse der Anwendung zurückgeleitet. Zur weiteren Autorisierung (http ist zustandslos) benutzt man für API Calls den access_token, der neben der uid (ID des Users) im $session Array enthalten ist.

Abb. 2: Autorisierung durch den Benutzer (Vergrößern)
$session = $facebook->getSession();$loginUrl = $facebook->getLoginUrl(array('canvas' => 1,'fbconnect' => 0,'req_perms' => 'publish_stream,email'));if (!$session) {echo "<script type='text/javascript'>";echo "top.location.href = '$loginUrl';";echo "</script>";exit;}try {$uid = $facebook->getUser();} catch (FacebookApiException $e) {echo "<script type='text/javascript'>";echo "top.location.href = '$loginUrl';";echo "</script>";exit;}
Listing 2
Weiter geht es mit der Frage, wie man von seinem Server per PHP auf das API von Facebook zugreifen kann.




