Sie befinden sich hier:
» 
» 
18.09.2013

Facebook-App selbst erstellen mit der PHP-SDK

Sicherlich haben Sie auch schon einmal mit dem Gedanken gespielt, eine Facebook-App zu erstellen. Ich meine nicht, das einfache Einbinden einer Webseite als Tab auf Ihrer Unternehmens- oder Fanpage. Mit der Facebook PHP-SDK können Sie recht einfach direkt auf die Open-Graph Objekte in Facebook zugreifen, z.B. den Newsstream lesen und aktiv Veränderungen darin vornehmen oder diverse Informationen auswerten (Fans und Freunde).

Voraussetzungen für die Erstellung einer Facebook-App mit der PHP-SDK

Zuerst benötigen Sie einen Webspace, auf dem PHP verfügbar ist. Idealerweise sollte Ihre App auf diesem Webspace auch gesichert, d.h. über SSL (https://) erreichbar sein, da Facebook später beim Einbinden Ihrer Applikation auch eine URL über eine gesicherte Verbindung fordert. Falls auf Ihrem Webspace keine gesicherte Verbindung verfügbar ist oder deren Bereitstellung zusätzliche Kosten verursacht, so können Sie Ihre App auch z.B. auf safe-ws.de hosten. Dieser Anbieter bietet Ihnen ein kostenloses Zertifikat, d.h. eine gesicherte Verbindung. Alternativ dazu können Sie Ihre App auch in die Heroku Cloud (Facebook-Partner) legen. Dort wird Ihnen alles Notwendige zur Verfügung gestellt (auch in einer kostenfreien Version).

Ich persönlich habe sowohl Apps bei safe-ws.de als auch bei Heroku liegen. Es funktionieren beide Varianten, allerdings ist bei der kostenfreien Variante auf Heroku (Cloud) die Performance eher bescheiden.

Des Weiteren benötigen Sie die Facebook PHP-SDK. Diese können Sie auf GitHub herunterladen. Laden Sie dort das gesamte /src-Verzeichnis herunter und speichern Sie die Files in Ihrer Entwicklungsumgebung ebenfalls z.B. in einem Verzeichnis ./src.

Applikation im Facebook Developer Center eröffnen

Eröffnen Sie nun auf Facebook eine neue App unter https://developers.facebook.com/apps. Falls Sie die Cloud-Lösung bevorzugen, können Sie in diesem Dialog auch gleich die entsprechenden Einstellungen vornehmen.
neue Facebook-App erstellen
Wichtig ist dabei die App-Id und der Secret-Code. Diese beiden Informationen benötigen Sie in Ihrem Source-Code.

Die ersten Zeilen einer Facebook-App

Nun können Sie Ihre App implementieren. Legen Sie hierzu eine Datei, z.B. index.php an. Darin müssen Sie zuerst die Facebook PHP-SDK einbinden und Ihr Facebook-Objekt initialisieren. Der Beginn Ihrer PHP-Seite sollte also wie folgt aussehen (unter der Annahme, dass Sie die Facebook PHP-SDK wie oben beschrieben in dem Verzeichnis ./src gespeichert haben):

<?PHP
  require_once('./src/facebook.php');
  $objFB = new Facebook(array(
    'appId' => '606067299436640',
    'secret' => 'adda38df7e029cba33ff66e1819fefd5',
  ));
  $user = $objFB->getUser();
?>

Zur Initialisierung des Facebook-Objektes verwenden Sie bitte die App-Id und den Secret-Code Ihrer soeben angelegten Facebook-Applikation.

Beispiel-Inhalt einer Facebook-App

Sie können auf verschiedene Arten die Open-Graph Objekte auf Facebook auslesen. Eine Möglichkeit ist FQL (Facebook Query Language). Diese Abfragesprache ist stark mit SQL verwandt und dadurch vielleicht relativ einfach zu verstehen. Eine Referenz der möglichen Objekte finden Sie natürlich auf den Facebook Developer-Seiten. Hier in diesem kleinen Beispiel möchte ich einfach nur einen Teil meiner Freunde auflisten. Das sieht dann wie folgt aus:

<?PHP
  if ($user) {
    try {
      $strFQL = 'SELECT uid, name, pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me() LIMIT 10)';
      $arrResult = $objFB->api(array(
        'method' => 'fql.query',
        'access_token' =>$objFB->getAccessToken(),
        'query' =>$strFQL,
        'callback' => ''
      ));
    } catch (FacebookApiException $e) {
      echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
      exit;
    }
    foreach ($arrResult as $key=>$value) {
      echo '<img src="'.$value['pic_square'].'"> UID: '.$value['uid'].' Name: '.$value['name'].'
';
    }
  } else {
    echo "Sie sind nicht angemeldet";
  }
?>

Man übergibt einfach das FQL-Statement der API inklusive eines validen AccessToken und erhält das Ergebnis als Array zurück. Dies wird hier einfach in einer foreach-Schleife ausgegeben. Das Ganze implementiert man in einem try / catch - Block, damit evtl. auftretende Fehler sauber abgefangen werden können.

Fazit

Es ist kein Hexenwerk, eine Facebook-App selbst zu erstellen. Sicherlich ist dies hier ein sehr einfaches Beispiel. Üblicherweise gehören noch Login- / Logoutmechanismen dazu, doch ich wollte nur das Prinzip verdeutlichen. Zu viel Details verwirren nur und werden evtl. in einem der nächsten Beiträge nachgeliefert.

Autor: Mein Name ist Harry Kämpf und ich bin seit vielen Jahren als Projekt Manager im Webumfeld tätig. Auf diesen Erfahrungen basieren die Tipps zur Webseitengestaltung. Ich schreibe gern über Webthemen, nehme aktuelle Trends auf und gebe bei Bedarf kompetente Beratung. Mehr Infos können Sie auf ueber-mich.html nachlesen.

66