facebook PHP sdk无法登录
问题描述:
我一直在尝试使用Facebook的PHP sdk登录。facebook PHP sdk无法登录
以下是我的其中一个代码。
<?php
session_start();
require_once('lib/Facebook/FacebookSession.php');
require_once('lib/Facebook/FacebookRedirectLoginHelper.php');
require_once('lib/Facebook/FacebookRequest.php');
require_once('lib/Facebook/FacebookResponse.php');
require_once('lib/Facebook/FacebookSDKException.php');
require_once('lib/Facebook/FacebookRequestException.php');
require_once('lib/Facebook/FacebookAuthorizationException.php');
require_once('lib/Facebook/GraphObject.php');
require_once('lib/Facebook/GraphUser.php');
require_once('lib/Facebook/GraphSessionInfo.php');
require_once('lib/Facebook/HttpClients/FacebookHttpable.php');
require_once('lib/Facebook/HttpClients/FacebookCurl.php');
require_once('lib/Facebook/HttpClients/FacebookCurlHttpClient.php');
require_once('lib/Facebook/Entities/AccessToken.php');
require_once('lib/Facebook/Entities/SignedRequest.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\GraphUser;
use Facebook\GraphSessionInfo;
use Facebook\HttpClients\FacebookHttpable;
use Facebook\HttpClients\FacebookCurl;
use Facebook\HttpClients\FacebookCurlHttpClient;
// Initialize application by Application ID and Secret
FacebookSession::setDefaultApplication('app_id','app_secret');
// Login Healper with reditect URI
$helper = new FacebookRedirectLoginHelper('http://124.125.244.163/rtCamp/home.php');
try {
$session = $helper->getSessionFromRedirect();
}
catch(FacebookRequestException $ex) {
// Exception
}
catch(Exception $ex) {
// When validation fails or other local issues
}
// Checking Session
if(isset($session))
{
// Request for user data
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// Responce
$data = $response->getGraphObject();
// Print data
echo print_r($data, 1);
}
else
{
// Login URL if session not found
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
?>
现在我面临的问题是,我可以得到一个会话的线路有问题。 即$session = $helper->getSessionFromRedirect()
页面从Facebook重定向后。
现在我甚至实现了这个家伙的整个GitHub的目录使用相同的登录密码here
的是,我的代码将停止该行工作后,并没有显示一个错误。我尝试了很多解决方案,但他们都不工作我下载了稳定的Facebook PHP SDK 4.0.0,并且运行了PHP 5.4的家庭LAMP服务器。我被卡住了。
UPDATE:错误出现在宇瞻登录
PHP Fatal error: Class 'Facebook\HttpClients\FacebookStreamHttpClient' not found in /var/www/rtCamp/lib/Facebook/FacebookRequest.php on line 166, referer:
http://124.125.244.163/rtCamp/home.php
答
<?php
require_once('lib/Facebook/FacebookSession.php');
require_once('lib/Facebook/FacebookRedirectLoginHelper.php');
require_once('lib/Facebook/FacebookRequest.php');
require_once('lib/Facebook/FacebookResponse.php');
require_once('lib/Facebook/FacebookSDKException.php');
require_once('lib/Facebook/FacebookRequestException.php');
require_once('lib/Facebook/FacebookAuthorizationException.php');
require_once('lib/Facebook/GraphObject.php');
require_once('lib/Facebook/GraphUser.php');
require_once('lib/Facebook/GraphSessionInfo.php');
require_once('lib/Facebook/HttpClients/FacebookHttpable.php');
require_once('lib/Facebook/HttpClients/FacebookCurl.php');
require_once('lib/Facebook/HttpClients/FacebookCurlHttpClient.php');
require_once('lib/Facebook/Entities/AccessToken.php');
require_once('lib/Facebook/Entities/SignedRequest.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\GraphUser;
use Facebook\GraphSessionInfo;
use Facebook\HttpClients\FacebookHttpable;
use Facebook\HttpClients\FacebookCurl;
use Facebook\HttpClients\FacebookCurlHttpClient;
session_start();
$app_id='';
$app_secret='';
$redirect_url='http://124.125.244.163/rtCamp/home.php';
// Initialize application by Application ID and Secret
FacebookSession::setDefaultApplication($app_id,$app_secret);
// Login Healper with reditect URI
$helper = new FacebookRedirectLoginHelper($redirect_url);
$session = $helper->getSessionFromRedirect();
// Checking Session
if(isset($session))
{
// Request for user data
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// Responce
$data = $response->getGraphObject(GraphUser::classname());
$name=$graph->getName();
echo "hi $name";
// Print data
echo print_r($data, 1);
}
else
{
// Login URL if session not found
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
/*
try {
$session = $helper->getSessionFromRedirect();
}
catch(FacebookRequestException $ex) {
// Exception
}
catch(Exception $ex) {
// When validation fails or other local issues
}
// Checking Session
if(isset($session))
{
// Request for user data
$request = new FacebookRequest($session, 'GET', '/me');
$response = $request->execute();
// Responce
$data = $response->getGraphObject();
// Print data
echo print_r($data, 1);
}
else
{
// Login URL if session not found
echo '<a href="' . $helper->getLoginUrl() . '">Login</a>';
}
*/
?>
+1
您是否介意在代码中添加一些解释? – 2015-03-15 11:00:11
我有同样的问题! – 2015-06-10 11:57:12