Ralf Hendel, Geschäftsführer
Drupal Enthusiast und Freizeit-Pianist.

Social Media

"Facebook social" und "Facebook connect" auf Drupal Webseiten einrichten

Facebook hat sich mittlerweile wohl zum größten sozialen Netzwerk entwickelt und spielt für die Verbreitung einer Website eine wichtige Rolle.

Für die Integration von Facebook innerhalb von Drupal gibt es mehrere Module, von denen sich aus meiner Sicht Facebook social und Facebook connect die Bedeutendsten sind. Wo liegt nun der Unterschied zwischen den beiden Modulen?

Facebook Social

Um eine Seite im eigenen Facebook Freundes-Netzwerk mit der "Gefällt mir"-Funktion ("like") weiter empfehlen zu können, muss man nicht an Drupal angemeldet sein. Hier reicht die Einrichtung des "Facebook social" Moduls, bei der lediglich die App-ID (die ID einer eigenen Facebook Applikation - siehe im Folgenden) oder die ID der Facebook Fanpage bzw. Unternehmensseite einzutragen ist.

Das Modul bringt einige Code-Schnipsel von Facebook ("FBML") in den Quellcode der Seite, anhand derer der Facebook Login-Status des Besuchers an Facebook übermittelt und die entsprechenden Funktionen von Facebook zurückgeliefert werden.

Die Installation ist recht unkompliziert. In der neueren Version ist auch schon die Berechtigung automatisch gesetzt, sodass man sich nicht mehr wundern muss, warum Gästen die Kommentar- und Like-Funktion nicht dargestellt wird, obwohl man sie als Admin doch deutlich sieht ;-)

Das Modul bringt unter anderem auch die sogenannte "Like-Box" als Block mit, in der Freunde bzw. Fans einer Facebook-Seite auf der Website dargestellt werden und ein Button zum Fan werden oder Fan-Beziehung beenden vorhanden ist. Sofern diese Funktionen genutzt werden sollen, muss bereits bei Einrichtung einer Facebook Seite darauf geachtet werden, eine "Seite" und keine "Gruppe" zu wählen. Gruppen unterstützen diese Funktion nicht.

Facebook Connect

Sofern Benutzer auf einer Website Dinge können sollen, die eine Drupal Anmeldung voraussetzen, kommt "facebook connect" ins Spiel. Im Prinzip passiert hier nichts anderes als bei einer Anmeldung durch einen externen Identitäts-Provider wie z.B. Open-ID. Bei der Anmeldung wird entweder ein neues Drupal Konto automatisch erstellt oder man verbindet sich mit einem bestehenden Konto. Anschließend sind die beiden Konten verknüpft.

Die Rechte des Benutzers auf der Drupal-Seite werden weiterhin durch das Drupal-Berechtigungssystem kontrolliert und verwaltet. Es gibt also keine Rolle "Facebook User" oder ähnliches.

Um Facebook Connect auf der Seite einbinden zu können, muss man eine "Facebook App" erstellen. Dafür muss das eigene Facebook Konto vorher zum Entwickler ("Developer") hochgestuft sein. Mit diesem Vorgang tritt man im Grunde nur der Gruppe "Developers" bei bzw. spricht der Applikation "Developer" sein Vertrauen aus.

eigene Facebook App erstellen

Eine App lässt sich in Windeseile auf der Seite "Anwendung erstellen" ins Leben rufen. Eine App ist im Kern nicht mehr als ein Dienst mit einem Schlüssel, um die Facebook API nutzen zu dürfen. In der App müssen die beiden Angaben "Seitenadresse" und "Website-Domain" ("Base Domain") und können einige "persönliche" Angaben eingetragen werden. Die Liste der eigenen Apps erreicht man bei Facebook unter http://www.facebook.com/developers/apps.php.

Sofern mehrere Seiten von unterschiedlichen Domains aus Facebook Connect nutzen sollen, müssen dafür mehrere Apps eingerichtet werden. Je App kann nur eine Domain eingetragen werden, diese allerdings inklusive aller Subdomains. 

Facebook Connect in Drupal konfigurieren

Nachdem Facebook Connect installiert und aktiviert ist, muss noch der "Facebook PHP SDK" von https://github.com/facebook/php-sdk/ heruntergeladen, ausgepackt und in den Modul-Ordner "fbconnect" kopiert werden.

In Drupal ist unter /admin/settings/fbconnect die Applikation-ID, der Secret-Key ("Application Secret" bzw. ""), die Domain und die Website einzutragen. Sofern auf der Website gleichzeitig "Facebook Social" installiert ist, muss dort ebenfalls die selbe App ID eingetragen werden. Ansonsten spielt es für Facebook Social keine Rolle - dann reicht es aus, die ID der Facebook Seite als App-ID einzutragen.

Das Modul stellt nun an allen Stellen, an denen Drupal Anmelde-Links dargestellt werden zusätzlich auch einen "Facebook Connect" Button dar. Nach einem Klick auf den Facebook-Connect-Button wird der Benutzer aufgefordert, der App zu vertrauen. Dies ist insofern richtig und wichtig, als dass die App damit die Genehmigung erhält, Status-Updates im Namen des Benutzers in der Facebook Timeline zu veröffentlichen.

Nachdem der Benutzer der App sein Vertrauen ausgesprochen hat, kann er entweder per Klick ein neues Konto anlegen oder sich mit einem bestehenden Konto verbinden. Auch dieser Schritt ist sinnvoll, da der Benutzer ja bereits über ein Konto auf der Website verfügen könnte und er sich zukünftig bequemerweise per Facebook Connect an der Seite anmelden möchte. Um sich gegenüber Drupal zu authentifizieren ist hier die "normale" Drupal Anmeldung mit Benutzername und Passwort erforderlich. Nach erfolgter Anmeldung sind das Facebook Konto und das Drupal Konto miteinander verknüpft.

In den eigenen Benutzerdaten kann der Benutzer diese Verknüpfung jederzeit auch wieder lösen.

Veröffenlichen von Kommentaren an die Pinnwand von Facebook Seiten

In Foren taucht öfters die Frage auf, wie sich Kommentare durch eine App direkt an die Pinwand von Unternehmens-Seiten posten lassen. So weit ich weiß, ist dies von Facebook für Seiten nicht vorgesehen.

Kommentare

frank - 14. Februar 2011 - 11:05
Hallo Rolf, das hat alles gut geklapt - danke. Ich hab jetzt Open Graph eingebunden. Wenn ich allerdings als “facebook-Seite” agiere (Ferienwohnungen-Balogh-und-Elger/196396747039830), wird der Button nicht angezeigt, da 100001924945580 eingebunden ist; klar. Ist es deshalb möglich, auf einer Site auch eine zweite “app_id” einzubauen, um zu zwitschen ?? MfG frank
Ralf Hendel - 13. Februar 2011 - 18:15
<p>Hallo,</p><p>eine Übersicht befindet sich bei Facebook unter http://developers.facebook.com/docs</p>
x333 - 13. Februar 2011 - 12:13
Hallo wie kann ich dem App Developer beitreten ? und wie kann ich dort spiele erstellen ,geht das überhaupt?
frank - 9. Februar 2011 - 20:33
ich meinte fb:app_id
Ralf Hendel - 9. Februar 2011 - 17:33
<p>Hallo Frank,</p><p>hast Du Dein eigenes Facebook Konto vorher zum Entwickler ("Developer") hochgestuft? Du musst dieser Gruppe erst beitreten, dann kannst Du Apps erstellen.</p><p>Grüße,<br>Ralf</p>
frank - 9. Februar 2011 - 17:27
Die Links zu "eigene Facebook App erstellen" sind nicht erreichbar ?? Wo und wie bekomm ich ZZ eine Facebook App Gruß