Facebook登录返回0代码点火器,而不是尝试许多解决方案



我试图让Facebook登录功能正常工作。我的问题是用户 ID 返回 0。下面是我的代码。

include_once APPPATH."libraries/facebook-api-php-codexworld/facebook.php";
    $appId = 'xxxxx';
    $appSecret = 'xxxxx';
    $redirectUrll = base_url() . 'register/';
    $fbPermissions = 'email';
    $facebook = new Facebook(array(
        'appId'  => $appId,
        'secret' => $appSecret
    ));
    $_REQUEST += $_GET; 
    $fbuser = $facebook->getUser();
    print_r($fbuser);
    if ($fbuser) {
            $userProfile = $facebook->api('/me?fields=id,first_name,last_name,email,gender,locale,picture');
            // Preparing data for database insertion
            $userData1['oauth_provider'] = 'facebook';
            $userData1['oauth_uid'] = $userProfile['id'];
            $userData1['fname'] = $userProfile['first_name'];
            $userData1['lname'] = $userProfile['last_name'];
            $userData1['email'] = $userProfile['email'];
            $userData1['status'] = 'Active';
            //$userData['gender'] = $userProfile['gender'];
            //$userData['locale'] = $userProfile['locale'];
            // $userData['profile_url'] = 'https://www.facebook.com/'.$userProfile['id'];
            //$userData['picture_url'] = $userProfile['picture']['data']['url'];
            // Insert or update user data
            $userID = $this->home->checkUser($userData1);
            if(!empty($userID)){
            $data['userData1'] = $userData1;
            $this->session->set_userdata('userData1',$userData1);
        } else {
            $data['userData1'] = array();
        }
    } else {
        $fbuser = '';
        $data['authUrl'] = $facebook->getLoginUrl(array('redirect_uri'=>$redirectUrll,'scope'=>$fbPermissions));
    }

您可以添加以下代码:

    $facebook = new Facebook(array(
              'appId'  => $appid,
              'secret' => $secret,
              'cookie' => true
     ));       
    $userId = $this->facebook->getUser();
    if($userId == 0){
        $access['scope'] = 'email,publish_actions,user_birthday,user_location,user_about_me,user_hometown';
        $access['redirect_uri'] = base_url() . 'register/';
        $url = $this->facebook->getLoginUrl($access);
        redirect($url);
  } 
  else
  {
       $access = $this->facebook->getAccessToken();
       $user = $this->facebook->api('/me?fields=first_name,last_name,email,birthday,gender,locale,picture',array('access_token'=>$access));
        //echo "<pre>";print_r($user);exit;
        $userData1['oauth_provider'] = 'facebook';
        $userData1['oauth_uid'] = $user['id'];
        $userData1['fname'] = $user['first_name'];
        $userData1['lname'] = $user['last_name'];
        $userData1['email'] = $user['email'];
        $userData1['status'] = 'Active';
        $userID = $this->home->checkUser($userData1);
        if(!empty($userID))
        {
          $data['userData1'] = $userData1;
          $this->session->set_userdata('userData1',$userData1);
        } 
        else {
            $data['userData1'] = array();
        }
      redirect('/login');//Redirect To Success Page
  }

我希望它能为你工作!!

相关内容

最新更新