验证不存在的Twitter用户

时间:2013-08-05 19:51:46

标签: php codeigniter twitter

我编写了一个CodeIgniter应用程序,用于输入Twitter屏幕名称,然后从Twitter API 1.1获取有关此用户的数据。如果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 个答案:

答案 0 :(得分:1)

更改以下行以包含true这将返回一个我觉得更容易使用的关联数组

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

然后您需要做的就是像这样引用代码

$friends_list['errors'][0]['code']