0

我正在尝试通过我的网站同时登录 Facebook 和 Twitter。计划是发布到我的网站并让网站同时发布到两者。该代码适用于登录一个或另一个,但在登录一个然后另一个时不起作用。我正在为 Facebook 使用Facebook PHP SDK,为 Twitter 使用tmhOAuth

$userId = $this->facebook->getUser(); 
            if($userId == 0){
                $this->data['fbloginurl'] = $this->facebook->getLoginUrl(array('scope'=>'manage_pages,publish_stream,read_stream,offline_access'));
            } else {
                if($this->session->userdata('userInfo')->userType == 1 || $this->session->userdata('userInfo')->userType == 2){
                    $this->facebook->setExtendedAccessToken();
                    $newdata = array('fbInfo'  => $this->facebook->api('/me/accounts')['data']);
                    $this->session->set_userdata($newdata);
                    foreach($this->session->userdata('fbInfo') as $page){
                        if($page['category'] != 'Application'){
                            $this->status_model->updateToken($page['name'],$page['access_token']);
                        }
                    }
                }
            }
            $tmhOAuth = new tmhOAuth($this->config->item('tmhOAuth'));
            if(isset($_REQUEST['oauth_verifier']) && $this->session->userdata('oauth') && !$this->session->userdata('access_token')){
                access_token($tmhOAuth);
            } else if(!$this->session->userdata('access_token')){
                $this->data['twloginurl'] = request_token($tmhOAuth);
            } else {
                $tmhOAuth->config['user_token']  = $this->session->userdata('access_token')['oauth_token'];
                $tmhOAuth->config['user_secret'] = $this->session->userdata('access_token')['oauth_token_secret'];
                $newdata = array('twitInfo'  => getTwitInfo($tmhOAuth));
                $this->session->set_userdata($newdata);
            }

我可以登录 Facebook 或 Twitter,它工作正常,但同时做这两个似乎根本不起作用。

有任何想法吗?

4

1 回答 1

0

您可能希望确保没有变量保存第一部分(Facebook)中的值,该值在第二部分中使用,这可能会导致绝对失败。会话变量也是如此。它可能使您的脚本失败。

于 2012-11-15T20:02:44.357 回答