我编写了一个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();
}
// ...
答案 0 :(得分:1)
更改以下行以包含true
这将返回一个我觉得更容易使用的关联数组
$friends_list = json_decode($this->get_user_data($username, $twitter, $friends_list_url), true);
然后您需要做的就是像这样引用代码
$friends_list['errors'][0]['code']