Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Twilio查找API不工作?_Php_Laravel_Sms_Twilio - Fatal编程技术网

Php Twilio查找API不工作?

Php Twilio查找API不工作?,php,laravel,sms,twilio,Php,Laravel,Sms,Twilio,我正在尝试使用Twilio的查找API通过PHP获取手机号码的某些属性。。。但收效甚微: $twilioClient = new Lookups_Services_Twilio(Credential::TwilioSID, Credential::TwilioToken); $number = $twilioClient->phone_numbers->get($someNumber); 请注意,这是他们的“入门”页面中的示例代码 通过查看调试器中的$number,

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

    $twilioClient = new Lookups_Services_Twilio(Credential::TwilioSID, Credential::TwilioToken);
    $number = $twilioClient->phone_numbers->get($someNumber);
请注意,这是他们的“入门”页面中的示例代码

通过查看调试器中的
$number
,我可以确认它返回了一些内容:

对象的高亮显示属性只是递归的,没有新信息

尝试计算
$number->phone\u number
返回
null
。我现在已经尝试了半打完全有效的数字,这是我得到的唯一回应

试图
json\u编码($number)
返回
false


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

我会继续假设你尝试的电话号码既不是美国的,也不是国际格式的

来自Twilio的:

您需要包括要格式化的电话号码的国家/地区代码。如果不包括,国家代码将默认为美国

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

$number = $twilioClient->phone_numbers->get($someNumber, array('CountryCode' => 'NZ'));
如果电话号码来自美国,采用国际格式,或者如果上述方法仍然无效,请尝试在Twilio上查找是否成功(您需要国际前缀)

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


如果web查找也失败了,您应该检查并报告问题。

如果他们定义了代码,我也不会成功,所以我使用了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>";
$base\u url=”https://lookups.twilio.com/v1/PhoneNumbers/+1XXXXXXXXX”;
$ch=curl\u init($base\u 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\u exec($ch);
$response=json_decode($response);
回声“;打印(回复);回声“;

它将返回几个参数(国家代码、国家格式、运营商)

现在是2016年9月6日,他们还没有修复PHP库

但这对我来说仍然有效。如果你想要更多的信息,如来电者姓名等,你必须首先在你的twilio仪表板中启用它

require'includes/twilio/Services/twilio.php';
//您的帐户Sid和来自twilio.com/user/Account的身份验证令牌
$sid=“YOUR-sid”;
$token=“YOUR-token”;
$client=newlookup\u Services\u Twilio($sid,$token);
//查找
$phoneNumber=rawurlencode(“(000)000-0000”);
$full\u path=$client->phone\u number->uri。“/$phoneNumber”。“?CountryCode=US&Type=carrier&Type=caller name”;
$number=new$client->phone\u number->instance\u name($client,$full\u path);
回显“呼叫者姓名:”$号码->来电者姓名->来电者姓名;
回声“
”; 回显“调用方类型:”$号码->呼叫者姓名->呼叫者类型; 回声“
”; 回声“载波类型:”$编号->承运人->类型。“\r\n”; 回声“
”; echo“承运人名称:”$编号->承运人->名称; 回声“
”; 回显“电话号码:”$号码->电话号码; 回声“
”; 回显“国家代码:”$编号->国家/地区代码;
是的,这样就行了。遗憾的是,尽管向Twilio发送了电子邮件和消息,但我还没有收到他们的回复,解释为什么他们的查找API PHP库不起作用。我可以确认我使用的数字与Twilio web界面一起工作,并且我的帐户处于活动状态(这不重要,因为API调用是免费的)。今晚我会再次检查我的访问权限。。。
require 'includes/twilio/Services/Twilio.php';

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "YOUR-SID";
$token = "YOUR-TOKEN";
$client = new Lookups_Services_Twilio($sid, $token);


// Lookup
$phoneNumber = rawurlencode("(000) 000-0000");
$full_path = $client->phone_numbers->uri . "/$phoneNumber" . "?CountryCode=US&Type=carrier&Type=caller-name";
$number = new $client->phone_numbers->instance_name($client, $full_path);

echo "Caller name:" . $number->caller_name->caller_name;
echo "<br>";
echo "Caller type:" . $number->caller_name->caller_type;
echo "<br>";
echo "Carrier type:" . $number->carrier->type . "\r\n";
echo "<br>";
echo "Carrier name:" . $number->carrier->name;
echo "<br>";
echo "Phone number:" . $number->phone_number;
echo "<br>";
echo "Country code:" . $number->country_code;