我正在使用Twilio消息服务的SDK,他们提供了验证电话/手机号码的功能,如果号码有效,它可以正常工作,但是给予
遇到未捕获的异常类型: Twilio \例外\ RestException
如果number无效,在收到此错误后我的功能停止工作。我使用codeigniter调用其SDK函数,
请帮我解决这个错误。
public function verify($contact_no){
$sid = "AccountSID";
$token = "Token";
$client = new Client($sid, $token);
$encoded = rawurlencode("$contact_no");
$number = $client->lookups
->phoneNumbers($encoded)
->fetch(
array("countryCode" => "US")
);
if ($number->phoneNumber) {
echo "True";
$status = "valid";
} else {
echo "False";
$status = 'invalid';
}
$data = array(
"verify" => "$status"
);
$this->model->update_contact_verification($contact_no, $data);
}
答案 0 :(得分:0)
Twilio开发者传道者在这里。
当数字未被识别为数字时,Lookup API返回404.PHP帮助程序库为此抛出RestException
,因此您需要捕获错误。您应该将代码更新为以下内容:
public function verify($contact_no){
$sid = "AccountSID";
$token = "Token";
$client = new Client($sid, $token);
$encoded = rawurlencode("$contact_no");
try {
$number = $client->lookups
->phoneNumbers($encoded)
->fetch(
array("countryCode" => "US")
);
echo $number->phoneNumber;
$status = 'valid';
} catch (Twilio\Exceptions\RestException $e) {
echo "False";
$status = 'invalid';
}
$data = array(
"verify" => "$status"
);
$this->model->update_contact_verification($contact_no, $data);
}
让我知道这是否有帮助。