在不知道sid的情况下在php中检索twilio转录文本

时间:2013-10-25 19:42:59

标签: php twilio

我正在开发一个twilio应用程序,其中的声音被转录然后转换为文本。在检索转录文本之前,一切都是有用的。我知道如果我知道“sid”我可以检索转录代码,但如果我想要转录代码并且不知道“sid”该怎么办。换句话说,我想从电话号码“555-555-1212”获得最新的转录,我能找到的是下面的代码。

<?php
// Get the PHP helper library from twilio.com/docs/php/install
require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library
// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "AC1240edf87a1d3b6717472af6deda4ce7";
$token = "{{ auth_token }}";
$client = new Services_Twilio($sid, $token);
$client->account->transcriptions->delete("TR8c61027b709ffb038236612dc5af8723");
?>

提前致谢! 迭

3 个答案:

答案 0 :(得分:0)

您将需要获得呼叫的SID,但如果您知道电话号码,并且可选择查找日期范围,那么这很容易做到(我的PHP生锈了所以您可能需要触摸这个上升):

// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "{{ sid }}"; 
$token = "{{ auth_token }}"; 
$client = new Services_Twilio($sid, $token);

// Get calls to a number on or after a certain date.
foreach ($client->account->calls->getIterator(0, 50, array("Status" => "completed", "To" => "555-555-1212","StartTime" => "2013-10-26")) as $call)  {
    echo $call->sid
    //now use the sid to get the transcription text using a seperate rest call.
    $transcription = $client->account->transcriptions->get($call->sid);
    echo $transcription->transcription_text;    
}

答案 1 :(得分:0)

修复原始问题=)

<?php
//RETRIEVE NUMBERS LAST TRANSCRIPTION
$client = new Services_Twilio($sid, $token);
$i=0;
foreach($client->account->transcriptions->getIterator(0, 50, array('Status' =>  'completed', 'To' => ''.$_GET['number'].'')) as $call)  {  
//now use the sid to get the transcription text using a seperate rest call.
if($i==1) break;
$transcription = $client->account->transcriptions->get($call->sid);
$sms_text = $transcription->transcription_text;
$i++;
}
?>

答案 2 :(得分:0)

Twilio传道者在这里。

另一种选择是,如果您使用<Record>动词,则可以设置transcribeCallback参数:

https://www.twilio.com/docs/api/twiml/record#attributes-transcribe-callback

这使您可以为Twilio提供我们将在转录完成时请求的URL。

希望有所帮助。