我从未使用过Facebook SDK 4,而且我在这里看了很多答案都没有成功。
我正在尝试使用api的facebook登录部分,但每次我从Facebook重新指向时都没有会话存储..这里是代码:
<?php
// I am using autoload just to make sure it was including the requested classes, it makes no difference if i include them separately the outcome is the same.
function __autoload($classname) {
$filename = "../Facebook/". end(explode("\\",$classname)) .".php";
include_once($filename);
}
use Facebook\FacebookSession;
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\GraphSessionInfo;
// start session
session_start();
// init app with app id and secret -
FacebookSession::setDefaultApplication( '****','****' );
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper( 'http://dev.mydomain.co.uk/fb/index.php' );
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(\Exception $ex) {
// When validation fails or other local issues
}
if ($session) {
// Logged in
print('loggedin');
} else {
print('no session');
$loginUrl = $helper->getLoginUrl();
?>
<a href="<?=$loginUrl?>">login</a>
<?php
}
我已经替换了app id和secret,重定向uri是正确的,但我刚刚在这里替换了域名。
它返回我的登录页面,只是总是打印“无会话”。所以看起来$session = $helper->getSessionFromRedirect();
没有做我需要它。
我从facebook开发者网站获得此代码。
我尝试过的事情:
我有点失落,所以如果有人有这方面的经验,那将会很有帮助
答案 0 :(得分:3)