ACHTUNG: diese Tutorial Arbeitet noch mit der alten SDK von Facebook, ein Tutorial für 3.0 wird folgen
Grüße euch!
Facebook, jeder kennt es, jeder redet darüber und sehr viele nutzen es.
In der heutigen Zeit kommt man als Webentwickler nicht mehr an Facebook vorbei. Da ich mich jetzt selbst etwas länger alleine mit dem Grundeinstieg gequält habe möchte ich euch hier eine schnelle Zusammenfassung geben.
Fehler bitte einfach melden, bin selbst noch kein Profi wenn es um Facebook Apps geht.
Vorab: es handelt sich hierbei um ein Facebook App das per Iframe eingebunden wird. D.h es müssen ALLE Dateien auf dem eigenen Server abgelegt werden. Auch nutzen wir die PHP-SDK die ihr hier downloaden könnt: http://github.com/facebook/php-sdk/
1.) Zuerst müssen wir unser App bei Facebook registrieren/eintragen
http://www.facebook.com/developers/ -> Neue Anwendung erstellen
(Hier kam es öfters vor das es danach eine blank Seite gab. geht einfach zurück auf die obere Url und nun sollte eure App bereits aufgelistet werden)
2.) Nachdem nun unsere Anwendung eingetragen ist gehen wir auf Anwendungsprofil bearbeiten -> Anwendungseinstellungen -> Leinwand (siehe Screen)
Die 2 rot umrahmten Felder sind die wichtigsten. Das 1. Feld definiert die Urlüber die eure Anwendung über die Facebook Url erreichbar ist. Das 2. Feld gibt an wo euere Anwendung tatsächlich liegt (sprich auf eurem Server)
Die restlichen Einstellungen können später dann erfolgen. Die wichtigsten sind erstmal erledigt. Kommen wir also nun zur App selbst.
3.) Unsere App.
Was eine Facebook App in wirklich keit Ausmacht ist nichts anderes als das unsere Anwendung auf die Benutzerdaten zugreift. Das ganze lässt sich über mehrere SDKs lösen, wir verwenden hier die PHP-SDK.
Die Oben angegebene Datei (PHP-SDK) downloaden und entzippen. Neben einem Beispiel ist die wichtigste Datei die "facebook.php" - diese Datei lässt uns unsere App mit den Benutzeraccount von FB verbinden.
Erstellen wir also eine .php Datei und binden die facebook.php Datei über include oder require_once ein gefolgt von unsere AppID und dem Geheimcode. Beides findet ihr in der Übersicht auf FB eurer App
Als nächstes stellen wir eine FB Instanz her und versuchen eine aktuelle Session auf zubauenPHP-Code:require_once("facebook.php");
$fbconfig['appid' ] = "xxx";
$fbconfig['secret'] = "xxxxxxxxxxxxxxxxxx";
Wir versuchen mittelsPHP-Code:// Create our Application instance.
$facebook = new Facebook(array(
'appId' => $fbconfig['appid' ],
'secret' => $fbconfig['secret'],
'cookie' => true,
));
$session = $facebook->getSession();
$fbme = null;
if ($session) {
try {
$fbme = $facebook->api('/me');
} catch (FacebookApiException $e) {
error_log($e);
}
}
auf die Userdaten des jeweiligen Benutzer zu zugreifen. Dafür muss er natürlich auf Facebook eingeloggt sein. Da wir aber sagen wir nutzen die App nur auf Facebook lass ich die Loginfunktion erstmal weg. "me" ist ein Aufruf der Facebook Graph Api (http://developers.facebook.com/docs/api) welches vom eingeloggten User die persönlichen Daten ausliest. Über diese Art kann man auch auf die Wall und andere Daten zugreifen. Als Ergebnis bekommen wir immer einen Array zurück.PHP-Code:$fbme = $facebook->api('/me');
Mittels Try und Catch fangen wir einen fehlerhaften Login ab.
Thearetisch sollen wir, wenn der Benutzer eingeloggt ist, nun eine Verbindung über die Facebook API aufgebaut haben. Also versuchen wir mal an seine Daten zu kommen.
Über die Graph Api sollten wir, wie oben erwähnt, nun einen Array erhalten der die Userdaten beninhaltet. Doch im Moment würden wir einen leeren Array erhalten, da jeder User erst einwilligen muss "ja deine App darf meine Daten lesen"
Also beginnen wir mit einer Überprüfung
Wenn Array leer dann nach erlaubnis fragen, ansonsten Daten auslesen. So heißt es gesprochen, so sieht es programmiert dann aus
Der 1. Teil der If-Abfrage würde, wenn $fbme einen Wert hätte uns einen Array mit Userdaten wiedergeben. Ist dies nicht der Fall, fragen wir einfach nach Erlaubnis. Es wird eine Url generiert über die wir den User nach Zugriff auf seine öffentlichen Daten fragen.PHP-Code:if ($fbme) {
echo"<pre>"; print_r($fbme); echo"</pre>";
}else{
//Get Access zu personal data from user
$loginUrl = $facebook->getLoginUrl(array('canvas' => 1,
'fbconnect' => 0,
'req_perms' => 'publish_stream',
'next' => $canvas_base_url . 'index.php',
'cancel_url' => $canvas_base_url ));
echo ('<script type="text/javascript">top.location.href=\''.$loginUrl.'\';</script>');
}
Wie das ganze funktioniert, muss man für den Anfang nicht verstehen, das wichtigste ist aber nach welchen Userdaten wir fragen:
zB nach den öffentlichen UserdatenPHP-Code:'req_perms' => 'publish_stream',
zB nach den öffentlichen Userdaten UND dessen eMail.PHP-Code:'req_perms' => 'publish_stream, email',
Eine Liste nach allen "Data Permissions" findet man ebenfalls im Handbuch auf FB
http://developers.facebook.com/docs/...on/permissions
Im Endeffekt war es das schon. Unser Teil der App (was auch immer es sein mag) würde nun einfach in den 1. Teil der If-Abfrage kommen stattIch hoffe damit, dem einen oder anderen den Einstieg in die Facebook App Programmierung erleichtert zu haben. Auch bitte ich zu beachten das dieses Tutorial in meiner Mittagspause entstandPHP-Code:echo"<pre>"; print_r($fbme); echo"</pre>";
Solltet ihr Fragen haben so steh ich gerne wenn möglich Antwort *g*


LinkBack URL
About LinkBacks


Solltet ihr Fragen haben so steh ich gerne wenn möglich Antwort *g*





Zitieren
Themenstarter

Lesezeichen