Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook api getLoginUrl为空_Php_Facebook_Facebook Javascript Sdk - Fatal编程技术网

Php Facebook api getLoginUrl为空

Php Facebook api getLoginUrl为空,php,facebook,facebook-javascript-sdk,Php,Facebook,Facebook Javascript Sdk,我正试图建立一个带有Facebook登录按钮的网站,但当你点击登录按钮时,它会将你带到我的login.php页面,该页面是空的。据我所知,getLoginUrl是空的。这是我的密码: FacebookSession::setDefaultApplication(FB_APP_ID, FB_APP_SECRET); $helper = new FacebookRedirectLoginHelper(FB_REDIRECT_URI); if(isset($_GET['type']) &&a

我正试图建立一个带有Facebook登录按钮的网站,但当你点击登录按钮时,它会将你带到我的login.php页面,该页面是空的。据我所知,getLoginUrl是空的。这是我的密码:

FacebookSession::setDefaultApplication(FB_APP_ID, FB_APP_SECRET);
$helper = new FacebookRedirectLoginHelper(FB_REDIRECT_URI);

if(isset($_GET['type']) && $_GET['type'] == 'facebook' ){

    $fb_url = $helper->getLoginUrl(array('email'));
    header('Location: ' . $fb_url);
}

$session = $helper->getSessionFromRedirect();

if(isset($_SESSION['token'])){
    $session = new FacebookSession($_SESSION['token']);
    try{
        $session->validate(FB_APP_ID, FB_APP_SECRET);
    }catch(FacebookAuthorizationException $e){
        echo $e->getMessage();
    }
}

$data = array();

if(isset($session)){
    $_SESSION['token'] = $session->getToken();
    $request = new FacebookRequest($session, 'GET', '/me');
    $response = $request->execute();
    $graph = $response->getGraphObject(GraphUser::className());

    $data = $graph->asArray();
    $id = $graph->getId();
    $image = "https://graph.facebook.com/".$id."/picture?width=100";
    $data['image'] = $image;
    if($user_obj->fb_login($data)){header('Location: home.php');}
    else{header('Location: index.php');}
}

有人知道我的代码有什么问题吗?

您将错误的参数传递给getLoginUrl…顺便说一句,您在这里使用的是PHP SDK v4吗?好的,
FacebookSession
在当前版本v5中不再存在。我强烈建议您升级。