2017-10-21 18 views
0

私は自分のサイトにFacebookのログインを実装しようとしていますが、私はここで立ち往生しています。 私はユーザーの電子メールが必要です。 私は許可を求めます。すべてのアクセス権が許可されている場合。 "Not Now"(権限が拒否されました)というボタンが押され、サイトに再度ログインしようとすると、権限のポップアップが表示されなくなります。 権限を受け入れていないユーザーに再び「ポップアップ」を表示する方法はありますか?ありがとうございます。Facebookのログイン許可が拒否されました

<?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>'; 
} 

?> 

答えて

0

ソリューションは、パブリック関数のgetLoginUrlに追加します。

$params['auth_type'] = 'rerequest'; 
関連する問題