我是fbdevelopment的新手,所以我下载了php sdk 4,并在名为facebook-sdk的组件中显示,然后我在main.php中配置 如
'import'=>array(
'application.models.*',
'application.components.*',
'application.components.facebook-sdk.*',
然后在我的网站控制器中,我想打电话:
$session = new FacebookSession($_POST['accessToken']);
但即使我认为我有一个访问令牌,它也会返回:
include(FacebookSession.php): failed to open stream: No such file or directory
我们必须在yii中配置php-sdk 4
答案 0 :(得分:0)
我遇到了像你这样的问题,我花了几个小时来调试。最后,我发现在课程名称之前我错过了名称“Facebook”。 这是我的代码,它运作良好:
require_once 'facebook-php-sdk/autoload.php';
require_once 'facebook-php-sdk/src/Facebook/FacebookSession.php';
require_once 'facebook-php-sdk/src/Facebook/FacebookRequest.php';
require_once 'facebook-php-sdk/src/Facebook/GraphObject.php';
require_once 'facebook-php-sdk/src/Facebook/GraphUser.php';
require_once 'facebook-php-sdk/src/Facebook/FacebookSDKException.php';
require_once 'facebook-php-sdk/src/Facebook/FacebookRequestException.php';
Facebook\FacebookSession::setDefaultApplication(FACEBOOK_APP_ID, FACEBOOK_APP_SECRET);
$helper = new Facebook\FacebookRedirectLoginHelper('http://mywebsite.com');
try {
$session = $helper->getSessionFromRedirect();
} catch(Facebook\FacebookRequestException $ex) {
// When Facebook returns an error
} catch(\Exception $ex) {
// When validation fails or other local issues
}
if ( isset($session) ) {
// Logged in
$me = (new Facebook\FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
var_dump($me);
}
else {
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl); exit;
}