2015-07-11 16 views
15

Tôi đang cố gắng để sử dụng Lookup API Twilio của để có được sản phẩm nhất định của một số điện thoại di động thông qua PHP ... với rất ít thành công:API tra cứu Twilio không hoạt động?

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

Lưu ý rằng đây là ví dụ mã hiện diện trong họ 'Bắt ​​đầu' trang here.

Bằng cách nhìn vào $number trong trình gỡ lỗi, tôi có thể khẳng định nó đang trở lại một cái gì đó:

enter image description here

Thuộc tính nổi bật của đối tượng chỉ đơn giản là đệ quy không có thông tin mới.

Cố gắng đánh giá $number->phone_number trả về null. Tôi đã thử điều này với có lẽ nửa tá số hoàn toàn hợp lệ bây giờ và đây là phản ứng duy nhất tôi nhận được.

Cố gắng json_encode($number) trả về false.

Tôi không biết tại sao điều này không hiệu quả, nhưng sẽ hữu ích nếu tôi biết tôi đang làm gì sai.

Trả lời

5

Tôi sẽ tiếp tục và giả sử số điện thoại bạn đã thử không phải từ Hoa Kỳ, cũng như ở định dạng quốc tế.

Từ Twilio của Lookups Quickstart Tutorial:

Bạn sẽ muốn bao gồm các mã quốc gia của số điện thoại mà bạn muốn định dạng. Nếu không được bao gồm, mã quốc gia sẽ mặc định sang Hoa Kỳ.

Vì vậy, tra cứu của bạn có lẽ sẽ giống như thế:

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

Nếu các số điện thoại từ Mỹ, ở định dạng quốc tế, hoặc nếu ở trên vẫn không hoạt động, hãy thử liệu tra cứu thành công trên số web interface của Twilio (bạn sẽ cần tiền tố quốc tế ở đó).

Nếu có, thư viện phần mềm của bạn có thể bị hỏng hoặc tài khoản Twilio của bạn có thể có quyền truy cập không đúng/bị hỏng.

Nếu tra cứu web không thành công, bạn nên contact Twilio và báo cáo sự cố.

+0

Tôi có thể xác nhận số tôi đang sử dụng làm việc với giao diện web Twilio và tài khoản của tôi đang hoạt động (không quan trọng vì cuộc gọi API miễn phí). Tôi sẽ kiểm tra lại quyền truy cập của tôi một lần nữa tối nay ... – ReactingToAngularVues

10

tôi sẽ có được cũng không thành công với mã của họ được xác định vì vậy tôi sử dụng CURL để lấy phương pháp API của họ và nó làm việc như một say mê đối với tôi, bạn có thể thử mã để giúp bạn có cần

$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>"; 

Nó sau sẽ trả lại cho bạn vài thông số (COUNTRY_CODE, national_format, tàu sân bay)

+0

Vâng, vì vậy công trình này hoạt động. Đó là một sự xấu hổ rằng mặc dù gửi email và nhắn tin Twilio, tôi đã không nhận được phản hồi từ họ về lý do tại sao thư viện PHP của họ cho API tra cứu là phi chức năng. – ReactingToAngularVues

3

Bây giờ 2016/09/06 và họ vẫn chưa cố định thư viện PHP của họ ...

không ít đây là những gì làm việc cho tôi. Nếu bạn muốn biết thêm thông tin như tên người gọi, bạn phải bật tính năng này trong bảng điều khiển twilio của mình trước tiên.

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; 
Các vấn đề liên quan