Twilio lookup API 不工作?

2022-08-30 23:33:07

我正在尝试使用Twilio的查找API通过PHP获取手机号码的某些属性...收效甚微:

    $twilioClient = new Lookups_Services_Twilio(Credential::TwilioSID, Credential::TwilioToken);
    $number = $twilioClient->phone_numbers->get($someNumber);

请注意,这是此处的“入门”页面中的示例代码。

通过在调试器中查看,我可以确认它返回了一些东西:$number

enter image description here

对象突出显示的属性只是递归,没有新信息。

正在尝试评估退货。我现在已经尝试了六个完全有效的数字,这是我得到的唯一回应。$number->phone_numbernull

正在尝试返回 。json_encode($number)false

我不知道为什么这不起作用,但如果我能知道我做错了什么,那将是有帮助的。


答案 1

我也不会成功定义他们的代码,所以我使用CURL来获取他们的API方法,它对我来说就像一个魅力,你可以尝试以下代码来获得你需要

    $base_url           =       "https://lookups.twilio.com/v1/PhoneNumbers/+1XXXXXXXXXX";
    $ch             =       curl_init($base_url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$account_sid:$auth_token");

$response           =       curl_exec($ch);
$response           =       json_decode($response);

echo "<pre>";   print_r($response); echo "</pre>";

它将返回一些参数(country_code,national_format,载体)


答案 2

我只是要继续假设你尝试过的电话号码既不来自美国,也不是国际格式。

来自 Twilio 的查找快速入门教程

您需要包含要设置格式的电话号码的国家/地区代码。如果未包含,则国家/地区代码将默认为美国。

因此,您的查找可能如下所示:

$number = $twilioClient->phone_numbers->get($someNumber, array('CountryCode' => 'NZ'));

如果电话号码来自美国,采用国际格式,或者如果上述仍然不起作用,请尝试在Twilio的Web界面上查找是否成功(您需要在此处使用国际前缀)。

如果是这样,您的软件库可能已损坏,或者您的 Twilio 帐户可能具有不正确/损坏的访问权限。

如果 Web 查找也失败,则应联系 Twilio 并报告问题。


推荐