Dies verwendet PHP SDK v4, nicht v5, aber ich fand es einfacher zu folgen, und dieses Personen-Tutorial ist fantastisch. http://www.krizna.com/demo/login-with-facebook-using-php/
In den Kommentaren wird erklärt, wie man EMAIL abruft, und wenn man es wie folgt aktualisiert, erhält man GENDER (ich lerne noch, bin also nicht sicher, welche anderen Felder für diese Schritte gelten)
Aktualisieren Sie in Ihrer index.php folgendes:
<?php if ($_SESSION['FULLNAME'] !="") {
?>
<li class="nav-header">Name</li>
<li><?php echo $_SESSION['FULLNAME']; ?></li>
<?php
} ?>
<?php if ($_SESSION['EMAIL'] !="") {
?>
<li class="nav-header">Email</li>
<li><?php echo $_SESSION['EMAIL']; ?></li>
<?php
}
?>
<?php if ($_SESSION['GENDER'] !="") {
?>
<li class="nav-header">Gender</li>
<li><?php echo $_SESSION['GENDER']; ?></li>
<?php
}
?>
Der obige Code sieht etwas anders aus als der Demo-Code, weil ich die
-
Zeilen in einem Feld IF BLANK, nicht anzeigen.
Aktualisieren Sie in der Datei FBConfig.php Folgendes:
// prüfen, ob eine Sitzung vorliegt
if ( isset( $session ) ) {
// graph api request for user data
// $request = new FacebookRequest( $session, 'GET', '/me' );
$request = new FacebookRequest( $session, 'GET', '/me?locale=en_US&fields=id, name, email, gender, birthday' );
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id'); // To Get Facebook ID
$fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name
$fbemail = $graphObject->getProperty('email'); // To Get Facebook email ID
$fbgender = $graphObject->getProperty('gender'); // To Get Facebook gender ID
$fbbirthday = $graphObject->getProperty('birthday'); // To Get Facebook birthday ID
/* ---- Session Variables -----*/
$_SESSION['FBID'] = $fbid;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $fbemail;
$_SESSION['GENDER'] = $fbgender;
$_SESSION['BIRTHDAY'] = $fbbirthday;
Geburtstag funktioniert bei mir nicht so, aber ich glaube, dass es dafür mehrere Gründe gibt, z. B. sind zusätzliche Berechtigungen erforderlich, ich habe meine versteckt usw. Hoffentlich hilft das.