Tutorial: Eigene Facebook-App erstellen - Teil 3

Im letzen Tutorial wurde gezeigt, wie man Daten vom Nutzer, zum Beispiel Name oder Sprache, auslesen und ausgeben kann. In diesem Tutorial wird gezeigt, wie man Daten des Nutzers verwenden kann, wofür man eine Berechtigung braucht, d.h. der Nutzer muss zustimmen, dass die App diese Daten bekommen darf. Als Beispiel kann man hier die E-Mail-Adresse oder das Geburtsdatum nennen.
Im folgenden wird sowohl die E-Mail-Adresse, als auch das Geburtsdatum des Nutzers ausgelesen und verarbeitet.

Wie oben schon gesagt, braucht man für die E-Mail-Adresse eine Genehmigung. Früher musste man dies noch auf der Developerseite eintragen, muss man neuerdings aber nicht mehr. Die Berechtigungen, die man für seine Anwendung braucht muss man in der Login-URL übergeben. Die erforderlichen Berechtigungen werden unter scope eingetragen. Bei mehreren Berechtigungen muss man diese mit einem Komma voneinander trennen. Für unser Beispiel würde es wie folgt aussehen:
<?php require_once "src/sdk/facebook.php"; $config = array(); $config["appId"] = "101787086691184"; $config["secret"] = "XXXXXXXXXX374fb76b9aa8101cc91f7d"; $facebook = new Facebook($config); $uid = $facebook->getUser(); if ($uid) { $access_token = $facebook->getAccessToken(); $udata = $facebook->api('/'.$uid , array('access_token'=>$access_token)); $name = $udata['name']; } else { $params = array( "scope" => "email, user_birthday", "redirect_uri" => "https://apps.facebook.com/tutorial-app-lvb/" ); $loginUrl = $facebook->getLoginUrl($params); echo '<script>top.location.href = "'.$loginUrl.'"</script>'; } ?>
Wenn der Nutzer die App also installiert hat, können wir neben den Daten, die immer zur Verfügung stehen, auf die E-Mail-Adresse, sowie das Geburtsdatum zugreifen. Allerdings sollte man nur die Genehmigungen einfordern, die man wirklich braucht, denn sonst werden die Nutzer eventuell abgeschreckt.
Wir lassen jetzt zum Beispiel die gesammelten Daten ausgeben:
<?php require_once "src/sdk/facebook.php"; $config = array(); $config["appId"] = "101787086691184"; $config["secret"] = "XXXXXXXXXX374fb76b9aa8101cc91f7d"; $facebook = new Facebook($config); $uid = $facebook->getUser(); if ($uid) { $access_token = $facebook->getAccessToken(); $udata = $facebook->api('/'.$uid , array('access_token'=>$access_token)); $name = $udata['name']; $birthday = $udata['birthday']; $email = $udata['email']; echo "Hallo $name! Dein Geburtstag ist am $birthday und deine E-Mail-Adresse lautet $email"; } else { $params = array( "scope" => "email, user_birthday", "redirect_uri" => "https://apps.facebook.com/tutorial-app-lvb/" ); $loginUrl = $facebook->getLoginUrl($params); echo '<script>top.location.href = "'.$loginUrl.'"</script>'; } ?>
So einfach geht es. Man sollte aber beachten, dass der Geburtstag im englischen Format ausgegeben wird.
In nächsten Tutorial lernt ihr, wie man im Namen des Nutzers auf Facebook etwas postet.

19.03.2014