Twilio PHP API how to get message timestamp DateSent?

拥有回忆 提交于 2020-07-23 23:46:09

问题


I have this code block iterating through the Twilio Message list.. but I keep getting null for DateSent (or DateCreated), I'm looking to get bakc the timestamp of the message. Everything else (the other fields , from, to , body all work fine)

$client = new Services_Twilio($twilio['sid'],$twilio['token']);     

// Loop over the list of messages echo each key property
foreach ($client->account->messages as $message) {
  $list_sms_messages[]=array('timestamp'=>$message->dateSent,
'from'=>$message->from ,
'to'=>$message->to, 
'body'=> $message->body );
}

According to the API DateSent or (DateCreated) should be in the message list object. Any ideas


回答1:


I've come across this issue myself. Seeing as you're using the PHP library I can try resolve this issue for you. In this section:

// Loop over the list of messages echo each key property
foreach ($client->account->messages as $message) {
    $list_sms_messages[]=array(
        'timestamp'=>$message->dateSent,
        'from'=>$message->from ,
        'to'=>$message->to, 
        'body'=> $message->body
    );
}

The $message->dateSent is actually a PHP DateObject so you can fetch the timestamp in Epoch format by change it to: $message->dateSent->getTimestamp()

The returned timestamp can then be formatted with the date() function.

I hope this helps.




回答2:


I figured it out by poking around TWILIO site examples, it turns out that their API guide for their TWIL formatted JSON ( and XML) uses different property names than their TWILIO-PHP wrapper library.. Here's the typical Message JSON when using the PHP library ( i omitted some fields for privacy reasons), but as you can see:

  • DateSent is actually date_sent ,
  • DateCreated is actually date_created and so on..

Once I plugged that into my code it worked as expected...

  "messages": [{
          "sid": "SM37e1d0d26f2ac513fbb30024a10e98fc",
          "date_created": "Thu, 19 Mar 2015 20:14:22 +0000",
          "date_updated": "Thu, 19 Mar 2015 20:14:22 +0000",
          "date_sent": "Thu, 19 Mar 2015 20:14:22 +0000",
          "account_sid": "AC2a0f5850342e7c43785ab72742e0bec0",
          "to": "+17324918525",
          "from": "+19733438312",
          "body": "Si",
          "status": "received",
          "num_segments": "1",
          "num_media": "0",
          "direction": "inbound",
          "api_version": "2010-04-01",
          "price": "-0.00750",
          "price_unit": "USD",
          "error_code": null,
          "error_message": null,
    }]


来源:https://stackoverflow.com/questions/29153691/twilio-php-api-how-to-get-message-timestamp-datesent

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!