Twilio - 绕过" .json找不到"在php

时间:2018-01-16 23:29:05

标签: php twilio twilio-api twilio-php

我正在尝试检查免费电话号码,它正在按预期工作。但是,我的问题是有些国家没有TollFree号码。

在这些国家/地区使用相同的代码会引发404错误并在那里停止代码。

我能想到的唯一方法是制作一个大规模的if语句并手动添加每个国家/地区提供免费选项,但我不喜欢这个解决方案,因为它将被硬编码。有没有办法克服这个问题,所以它适用于拥有.json的国家而忽略了那些没有(而不是崩溃代码)的国家?

$twilio = new Client(env('TWILIO_ID'), env('TWILIO_TOKEN'));
$iso = 'CY';
$params = ["excludeLocalAddressRequired" => "true"];

$tollFreeNumbers = $twilio->availablePhoneNumbers($iso)->tollFree->read($params);

这是回复:

  

" [HTTP 404]无法获取页面:找不到请求的资源/2010-04-01/Accounts/ACxxxxx/AvailablePhoneNumbers/CY/TollFree.json"

使用此代码会因CY而崩溃,但可以与英国,美国,加州等等合作。我应该在硬编码国家/地区添加if语句吗? (我真的不喜欢这个解决方案,但这是我能想到的)。我的意思是:

if ($iso == 'GB' || $iso == 'US' || $iso == 'CA') {     // and many more
    $tollFreeNumbers = $twilio->availablePhoneNumbers($iso)->tollFree->read($params);
}

2 个答案:

答案 0 :(得分:1)

为什么不将它包装在try catch

try {
    $tollFreeNumbers = $twilio->availablePhoneNumbers($iso)->tollFree->read($params);
} catch(\Exception $e) {
    $tollFreeNumbers = [];
}

答案 1 :(得分:1)

Twilio开发者传道者在这里。

为了不捕捉错误并向用户返回一条消息说免费电话号码,而不是在有条件的情况下(可能会因为我们将来在其他国家/地区添加免费电话而过时)来预防在他们搜索的国家/地区不可用。

类似的东西:

hidden

让我知道这是否有帮助。