Twilio如何只获取消息服务发送的消息

时间:2018-01-02 23:27:17

标签: php twilio

我正在使用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";
    }

}

0 个答案:

没有答案