我正在使用Twilio消息传递服务从多个号码发送。 我想获取从该消息传递服务发送的消息。 我正在尝试使用流,因为我不想要成千上万的消息 每次通话。
有没有办法只获取使用a发送的消息 特定的消息服务?
$searcher = new TwilioLogRetriever;
$searcher->listMessagesForMessagingService('MGxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx');
TwilioLogRetriever
<?php
use Twilio\Rest\Client;
class TwilioLogRetriever {
function listMessagesForMessagingService($messagingServicesSid) {
$client = new Client(Configure::Read('twilio.accountSid'), Configure::read('twilio.authToken'));
$once = false;
$n = 0;
// Try specifying 'from' (just guessing)
foreach ($client->messages->stream(['from' => $messagingServicesSid]) as $message) {
++$n;
//echo $message->body . "\n";
$data = [
'from' => $message->from,
'to' => $message->to,
'direction' => $message->direction,
'messagingServiceSid' => $message->messagingServiceSid,
'numMedia' => $message->numMedia,
'numSegments' => $message->numSegments,
'price' => $message->price,
'priceUnit' => $message->priceUnit,
'sid' => $message->sid,
'status' => $message->status,
'body' => $message->body,
];
$data['dateCreated'] = $message->dateCreated->format('Y-m-d H:i:s');
$data['dateUpdated'] = $message->dateUpdated->format('Y-m-d H:i:s');
$data['dateSent'] = $message->dateSent->format('Y-m-d H:i:s');
if ( ! $once ) {
print_r($message);
$once = true;
}
}
$this->out(__METHOD__. " Found $n messages." );
}
function out($message ) {
echo $message . "\n";
}
}