作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我是 fbdevelopment 的新手,所以我下载了 php sdk 4 并在名为 facebook-sdk 的组件中扩展,然后我在 main.php 中进行了配置作为
'import'=>array(
'application.models.*',
'application.components.*',
'application.components.facebook-sdk.*',
然后在我的站点 Controller 中我想调用:
$session = new FacebookSession($_POST['accessToken']);
但即使我认为我有访问 token ,它也会返回:
include(FacebookSession.php): failed to open stream: No such file or directory
我们必须在 yii 中配置 php-sdk 4
最佳答案
我和你一样遇到过这个问题,我花了几个小时来调试。最后,我发现我错过了类名前的命名空间“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;
}
关于php - 如何在 Yii 中配置 php sdk 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24908437/
我是一名优秀的程序员,十分优秀!