2016-11-10 3 views
0

Добрый день, ребята, у меня проблема с моим входом в facebook с помощью php. я сделал все правильно, я предполагаю, но все равно получаю ошибки. Мне бы хотелось, чтобы у некоторых было больше знаний, чтобы помочь мне разрешить это.Интеграция с веб-сайтом FB с использованием php sdk

Ниже страница ошибки:

enter image description here

<?php 
 
session_start(); 
 

 
ini_set('display_errors', '1'); 
 
// added in v4.0.0 
 
require_once 'autoload.php'; 
 
require 'functions.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\EntitiesAccessToken; 
 
use Facebook\HttpClientsFacebookCurlHttpClient; 
 
use Facebook\HttpClientsFacebookHttpable; 
 

 
// init app with app id and secret 
 
FacebookSession::setDefaultApplication('APP ID','APP SECRET'); 
 
// login helper with redirect_uri 
 
    $helper = new FacebookRedirectLoginHelper('http://www.xxxxxxxx.com/3rd_party/fbOAuth/fbconfig.php'); 
 
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'); 
 
    $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 
 
    $femail = $graphObject->getProperty('email'); // To Get Facebook email ID 
 
/* ---- Session Variables -----*/ 
 
    $_SESSION['FBID'] = $fbid;   
 
     $_SESSION['FULLNAME'] = $fbfullname; 
 
    $_SESSION['EMAIL'] = $femail; 
 
    checkuser($fuid,$ffname,$femail); 
 
    header("Location: index.php"); 
 
} else { 
 
    $loginUrl = $helper->getLoginUrl(); 
 
header("Location: ".$loginUrl); 
 
} 
 
?>

+0

Почему бы не просто использовать js sdk для входа? это намного проще в обращении и не изменилось за последние несколько лет: http://www.devils-heaven.com/facebook-javascript-sdk-login/ – luschn

+0

Я не так хорошо знаком с этим сэром. И поскольку я использую пользовательскую кнопку входа в систему, а также требую, чтобы хранить данные из API в моей локальной БД, я предполагал, что PHP SDK будет наиболее подходящим – ComputerMaverick

+0

, вы все равно можете использовать пользовательскую кнопку входа в систему, в статье объясняется, как это сделать что. и вы также можете хранить данные в локальном db, это не проблема. php sdk даже предлагает специальный обработчик для js sdk login afaik. в любом случае, вы должны попытаться использовать его, это не сложно. – luschn

ответ

0

Спасибо за помочь всем. Я смог решить проблемы с помощью SDK v5.4 и изменить пути и перенаправления.

Смежные вопросы