0

自分のサイトからFacebookとTwitterの両方に同時にサインインしようとしています。私のサイトに投稿し、同時に両方にサイトを投稿する予定です。このコードは、どちらかにサインインする場合は機能しますが、一方にサインインしてからもう一方にサインインする場合は機能しません。Facebook用のFacebookPHPSDKと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

絶対的な失敗につながる可能性のある、2番目の部分で使用される最初の部分(Facebook)の値を保持する変数がないことを確認することをお勧めします。また、セッション変数についても同じことが起こります。それはおそらくあなたのスクリプトを失敗させるものです。

于 2012-11-15T20:02:44.357 に答える