2017-10-25 2 views
0

저는 symfony 응용 프로그램에서 Twilio-PHP를 사용하고 있습니다. Vresh Twilio Bundle을 사용하고 있습니다. 내 계정에서 SMS 메시지를 다음과 같이 검색하고 있습니다.Twilio-php - 메시지를 매개 변수로 필터링하는 방법?

$twilio = $this->container->get('twilio.api'); 
$messages = $twilio->account->messages 

이렇게하면 계정에있는 모든 메시지의 목록을 가져옵니다. API 호출 시점에서이를 필터링하거나 특정 방향으로 만 메시지를 검색하거나 특정 날짜 이후에 필터링 할 수 있기를 원합니다. Twilio docs에서

$params = array('DateSent' => '2017-10-20'); 
$messages = $twilio->account->messages->read($params); 

사용하는 예제가있다 ...하지만 read() 방법은 나를 위해 존재하지 않습니다.

[Symfony\Component\Debug\Exception\UndefinedMethodException] 
Attempted to call an undefined method named "read" of class "Services_Twilio_Rest_Messages". 

누구든지 Twilio에서 메시지를 가져 오는 방법을 조언하고 통화 시점의 매개 변수로 필터 할 수 있습니까?

답변

0

Twilio 개발자 전도사 : 당신에 링크 된 페이지에서

4.x 버전 예를 들어 있습니다.

Michael이 지적했듯이 Twilio PHP library 버전 4를 사용하고 있습니다. 이상적으로 버전 5로 업그레이드 할 수 있지만 Vresh Twilio Bundle을 계속 사용하려면 현재 버전 4에 고정되어 있어야합니다.

이 버전의 라이브러리를 사용하여 메시지를 필터링 할 수 있습니다. 설명서는 GitHub에서도 제공되므로 how to use the Messages resource with Twilio PHP 4을 참조하십시오. 메시지를 필터링하려면 당신은 getIterator 방법이 필요하고 당신은 다음과 같이 사용할 수 있습니다 :

foreach ($client->account->messages->getIterator(0, 50, array(
    'DateSent>' => '2017-10-20', 
)) as $message) { 
    // use $message 
} 

당신은, 비록 방향으로 only To, From and DateSent를 필터링 할 수 없습니다.

+0

고마워, 나는 그것을 시도 할 것이다. 내 요구 사항에 따라 날짜 별 필터링이 잘되어야합니다. – fistameeny

0

올바르지 않은 버전의 설명서를보고 있습니다. 프로젝트에 4.x 버전을 사용하지만 5.x에 대한 설명서를 확인하십시오. 여기

require_once('/path/to/twilio-php/Services/Twilio.php'); // Loads the library 

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

// Loop over the list of messages and echo a property for each one 
foreach ($client->account->messages as $message) { 
    echo $message->body; 
} 
+0

감사합니다. Michael, API의 v4처럼 매개 변수로 필터링 할 수없는 것 같습니다. 코드에서 해결 방법을 찾아 보겠습니다. – fistameeny