Ich versuche, Facebook-Login auf meiner Website zu implementieren, aber ich stecke hier fest. Ich brauche die E-Mail des Benutzers. Ich frage nach Berechtigungen. Wenn die gewährten Berechtigungen alles in Ordnung sind. Wenn die Schaltfläche "Not Now" (Berechtigungen verweigert) gedrückt wird und er sich erneut auf der Site anmeldet, wird das Berechtigungs-Popup nicht mehr angezeigt. Wie zeige ich das "Pop-up" wieder für Benutzer, die die Berechtigungen nicht akzeptiert haben? Danke!Facebook Login-Berechtigung verweigert
<?php
if(!isset($_SESSION))
{
session_start();
}
?>
<?php
require_once '/autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// start session
// init app with app id and secret
FacebookSession::setDefaultApplication('12345','12345');
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('urlcallback');
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(Exception $ex) {
// When validation fails or other local issues
}
// see if we have a session
if (isset($session)) {
// graph api request for user data
$request = new FacebookRequest($session, 'GET', '/me?fields=name,email');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
$fbid = $graphObject->getProperty('id'); // To Get Facebook ID
$fbuname = $graphObject->getProperty('username'); // To Get Facebook Username
$fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name
$femail = $graphObject->getProperty('email'); // To Get Facebook email ID
/* ---- Session Variables -----*/
$_SESSION['FBID'] = $fbid;
$_SESSION['USERNAME'] = $fbuname;
$_SESSION['FULLNAME'] = $fbfullname;
$_SESSION['EMAIL'] = $femail;
echo '<pre>' . print_r($graphObject, 1) . '</pre>';
//echo 'email:'.$femail;
} else {
// show login url
echo '<a href="' . $helper->getLoginUrl(array('scope'=>'public_profile,email,user_friends')) . '">Login</a>';
}
?>