2013-08-05 47 views
0

我编写了一个CodeIgniter应用程序,用于输入Twitter的屏幕名称,然后从Twitter API 1.1中获取有关此用户的数据。如果Twitter的网名不存在,它返回以下错误:验证不存在的Twitter用户

stdClass Object ([errors] => Array ([0] => stdClass Object ([message] => Sorry, that page does not exist [code] => 34))) 

我的问题是,我该如何验证在我的功能get_user_data(...)上述错误/检查?如果页面/用户不存在,我想返回34,以便我可以显示适当的未找到的错误视图。任何援助将不胜感激。提前致谢!

// ... 
     $this->form_validation->set_rules('username', 'username', 'required'); 
     $username = $this->input->post('username'); 

     if($this->form_validation->run() === FALSE || $this->val_username($username) === FALSE) 
     { 
      $data = 'Validation Problems';   
      $this->view('search_page2',$data); 
     }  
     else 
     {    
      $twitter = new TwitterAPIExchange($settings);   
      $friends_list_url = 'https://api.twitter.com/1.1/users/show.json';     
      $friends_list = json_decode($this->get_user_data($username, $twitter, $friends_list_url)); 
     } 
     } 
     } 

     private function get_user_data($username, $twitter, $url) 
    { 
     $getfield = '?screen_name=' . $username;   
     $request_method = 'GET';   

     return $twitter->setGetfield($getfield) 
       ->buildOauth($url, $request_method) 
       ->performRequest();   
    } 

// ... 

回答

1

更改以下行包括true这将返回一个关联数组,我觉得更容易

$friends_list = json_decode($this->get_user_data($username, $twitter, $friends_list_url), true); 

来工作,那么所有你需要做的是参考像这样

$friends_list['errors'][0]['code'] 
代码
+0

+1哇,它的工作,谢谢! – Anthony