简体   繁体   English

如何在Yii中配置php sdk 4

[英]How to configure php sdk 4 in Yii

I am new in fbdevelopment, so I downloaded php sdk 4 and extated in component with name facebook-sdk and then I configured in main.php as 我是fbdevelopment的新手,所以我下载了php sdk 4并在名为facebook-sdk的组件中放了我,然后我在main.php中配置为

'import'=>array(
    'application.models.*',
    'application.components.*',
    'application.components.facebook-sdk.*',

Then in my site controller I want to call: 然后在我的站点控制器中我想调用:

$session = new FacebookSession($_POST['accessToken']); 

But even thought I have an access token, it returns: 但即使我认为我有一个访问令牌,它返回:

include(FacebookSession.php): failed to open stream: No such file or directory 

where we have to configuration php-sdk 4 in yii 我们必须在yii中配置php-sdk 4

I had this problem like you and it took me hours to debug. 我有像你这样的问题,我花了几个小时来调试。 Finally, I found that I missed the namespace "Facebook\\" before the class name. 最后,我发现在课程名称之前我错过了名称“Facebook”。 Here is my code it works well: 这是我的代码,它运作良好:

        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;
        }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM