2012-02-02 15 views
0

facebook php SDKを使用してfacebook $ fbmeメール情報を取得したいと思います。Firstname、Lastname、Genderのような残りの情報を取得していますが、 Email.Iは拡張電子メールのアクセス許可を与えようとしましたが、それは助けにはなりませんでした。できるだけ早く助けてください。ここで

は、あなたが新しいOAuth認証をサポートしていPHP SDKのバージョン3を使用している必要があり、私のコード

  /* 
     * Sign up procees for facebook login 
     */ 
     if (array_key_exists("facebook", $_GET)) { 


      /* 
      * Distroy all sesion data 
      */ 
      $this->objSession->unsetAll(); 

      /* 
      * Distroy all api session data 
      */ 
      $this->objAPISession->unsetAll(); 



      /* 
      * if seesion data is not present then facebook login 
      */ 
      if (0 == $this->objSession->USRlKey) { 
       try { 
        include_once "library/facebook/facebook.php"; 
       } catch (Exception $strError) { 
        echo "facebook.php File not found on server"; 
       } 

       $arrConfigSetting['appid' ] = FACEBOOK_API_ID; 
       $arrConfigSetting['secret'] = FACEBOOK_SECRET_KEY; 

       $facebook = new Facebook(array(
         'appId' => $arrConfigSetting['appid'], 
         'secret' => $arrConfigSetting['secret'], 
         'cookie' => true , 
        )); 

       $strFacebookUser_id = $facebook->getUser(); 

       $fbme = null; 

       if ($strFacebookUser_id) { 
        try { 
         $uid = $facebook->getUser(); 
         $fbme = $facebook->api('/me'); 

         if ('' != $fbme['id']) { 

          $this->objAPISession->arrAPIUser['intUsrID'] = $fbme['id']; 
          $this->objAPISession->arrAPIUser['strFirstName'] = isset($fbme['first_name']) ? $fbme['first_name'] : ""; 
          $this->objAPISession->arrAPIUser['strLastName'] = isset($fbme['last_name']) ? $fbme['first_name'] : ""; 
          $this->objAPISession->arrAPIUser['intUserType'] = 3; 
          $this->objAPISession->arrAPIUser['strSignUpType'] = "Facebook"; 

            $this->_redirect('/login/emailaddress'); 
          die; 
         } 

        } catch (FacebookApiException $e) { 
         echo $e; 
        } 
       } else { 

        $loginUrl = $facebook->getLoginUrl(array('next' => "http://www.mywebsite.com/facebooklogin_success", 'req_perms' => 'email,read_stream,publish_stream,offline_access')); 
        //echo("<br>login url=".$loginUrl); 
        return $this->_redirect($loginUrl); 
        //return $this->_redirect('login/index'); 
       } 




      } else { 
       return $this->_redirect('myprofile/index'); 
      } 

     } 

答えて

2

です。

はまた、バージョン3で、この行は次のようになります。

$loginUrl = $facebook->getLoginUrl(array('redirect_uri' => "http://dev.popsip.com/facebooklogin_success", 'scope' => 'email,read_stream,publish_stream,offline_access')); 
関連する問題