2015-07-11 8 views
15

Ich versuche Twilio die Lookup API zu bekommen bestimmte Eigenschaften einer Handynummer via PHP ... mit sehr wenig Erfolg zu nutzen:Twilio-Lookup-API funktioniert nicht?

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

Beachten Sie, dass dies ist der Beispielcode sich in ihrem ‚Erste Schritte‘ Seite here.

Durch einen Blick auf $number im Debugger nehmen, kann ich bestätigen, es ist etwas zurückgibt:

enter image description here

Die markierte Eigenschaft des Objekts ist ohne neue Informationen einfach rekursiv.

Der Versuch, $number->phone_number auszuwerten, gibt null zurück. Ich habe das jetzt mit vielleicht einem halben Dutzend vollgültiger Nummern versucht und das ist die einzige Antwort, die ich bekomme.

Der Versuch, json_encode($number) kehrt false.

Ich habe keine Ahnung, warum dies nicht funktioniert, aber es wäre hilfreich, wenn ich weiß, könnte, was mache ich falsch.

Antwort

5

Ich werde gehen Sie einfach weiter und nehmen die Telefonnummern, die Sie versucht haben, sind weder von den USA noch im internationalen Format.

Von Twilio der Lookups Quickstart Tutorial:

Sie werden den Ländercode der Telefonnummer enthalten sein sollen, die Sie formatiert möchten. Wenn nicht enthalten, wird der Ländercode standardmäßig auf die USA gesetzt.

So Ihre Lookup sollte wohl so aussehen:

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

Wenn die Telefonnummern aus den USA sind, im internationalen Format, oder wenn die oben immer noch nicht funktioniert, versuchen Sie, ob die Suche erfolgreich auf Twilios web interface (Sie benötigen das internationale Präfix dort).

Ist dies der Fall, könnte Ihre Software-Bibliothek wird gebrochen oder Ihr Twilio Konto möglicherweise falsch/broken Zugriffsrechte hat.

Wenn die Web-Suche als auch fehlschlägt, sollten Sie contact Twilio und das Problem melden.

+0

Ich kann die Zahlen, die ich benutze, mit der Twilio-Weboberfläche arbeiten, und dass mein Konto aktiv ist (es sollte nichts ausmachen, da der API-Aufruf unabhängig ist). Ich überprüfe meine Zugriffsrechte noch heute Nacht ... – ReactingToAngularVues

10

ich hätte auch nicht erfolgreich mit ihrem Code definiert, so verwendet i ROTATION ihre API-Methoden zu greifen und es wie ein Zauber für mich gearbeitet haben, können Sie versuchen, Code folgende Sie

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

Es bekommen müssen werden Sie einige Parameter zurückkehren (country_code, national_format, Träger)

+0

Ja, das funktioniert. Es ist eine Schande, dass Twilio trotz E-Mail und Messaging keine Antwort von ihnen erhalten hat, warum ihre PHP-Bibliothek für die Lookup-API nicht funktionstüchtig ist. – ReactingToAngularVues

3

Jetzt 2016.09.06 und sie haben noch nicht ihre PHP-Bibliothek festgelegt ...

Keiner hier desto weniger ist das, was für mich gearbeitet. Wenn Sie weitere Informationen wie Name des Anrufers usw. wünschen, müssen Sie dies zuerst in Ihrem Twilio-Dashboard aktivieren.

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; 
Verwandte Themen