如何使用PHP SDK v4获取Facebook canvas应用程序的用户电子邮件地址

如何使用PHP SDK v4获取Facebook canvas应用程序的用户电子邮件地址,php,facebook-php-sdk,Php,Facebook Php Sdk,下面是我的代码,我正在为我的Facebook canvas应用程序使用Hostgator共享SSL证书。SDK版本为4.0。我的问题是无法获取或打印用户电子邮件地址 <?php session_start(); require_once( 'Facebook/HttpClients/FacebookHttpable.php' ); require_once( 'Facebook/HttpClients/FacebookCurl.php' ); require_once( 'Facebook

下面是我的代码,我正在为我的Facebook canvas应用程序使用Hostgator共享SSL证书。SDK版本为4.0。我的问题是无法获取或打印用户电子邮件地址

<?php
session_start();
require_once( 'Facebook/HttpClients/FacebookHttpable.php' );
require_once( 'Facebook/HttpClients/FacebookCurl.php' );
require_once( 'Facebook/HttpClients/FacebookCurlHttpClient.php' );
require_once( 'Facebook/Entities/AccessToken.php' );
require_once( 'Facebook/Entities/SignedRequest.php');
require_once( 'Facebook/FacebookSession.php' );
require_once( 'Facebook/FacebookSignedRequestFromInputHelper.php');
require_once( 'Facebook/FacebookCanvasLoginHelper.php');
require_once( 'Facebook/FacebookRedirectLoginHelper.php' );
require_once( 'Facebook/FacebookRequest.php' );
require_once( 'Facebook/FacebookResponse.php' );
require_once( 'Facebook/FacebookSDKException.php' );
require_once( 'Facebook/FacebookRequestException.php' );
require_once( 'Facebook/FacebookOtherException.php' );
require_once( 'Facebook/FacebookAuthorizationException.php' );
require_once( 'Facebook/GraphObject.php' );
require_once( 'Facebook/GraphUser.php');
require_once( 'Facebook/GraphSessionInfo.php' );

use Facebook\HttpClients\FacebookHttpable;
use Facebook\HttpClients\FacebookCurl;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\Entities\AccessToken;
use Facebook\Entities\SignedRequest;
use Facebook\FacebookSession;
use Facebook\FacebookSignedRequestFromInputHelper;
use Facebook\FacebookCanvasLoginHelper;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookOtherException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\GraphUser;
use Facebook\GraphSessionInfo;

FacebookSession::setDefaultApplication('MY APP ID','MY SECRET');

$helper = new FacebookCanvasLoginHelper();

try {
    $session = $helper->getSession();
} catch (FacebookRequestException $ex) {
    echo $ex->getMessage();
} catch (\Exception $ex) {
    echo $ex->getMessage();
}

if ($session) {
    try {
        $request = new FacebookRequest($session, 'GET', '/me');
        $response = $request->execute();
        $me = $response->getGraphObject();
        echo $me->getProperty('email');
    } catch(FacebookRequestException $e) {
        echo $e->getMessage();
    }
} else {
    $helper = new FacebookRedirectLoginHelper('https://apps.facebook.com/MY APP URL/'); // add your Facebook app namespace here

    // getting the login url for your app
    $auth_url = $helper->getLoginUrl(array('email')); // add new permission here as an index type array

    // redirecting the user directly to your Facebook canvas app you can also make a link of it
    echo "<script>window.top.location.href='".$auth_url."'</script>";
}

?>

在“facebook”请求期间是否有任何异常(错误)?没有错误或异常