Twilio PHP API如何获取消息时间戳DateSent?

时间:2015-03-19 19:49:31

标签: javascript php twilio

我有这个代码块迭代通过Twilio消息列表..但我一直 DateSent (或 DateCreated null ,我我希望得到bakc消息的时间戳。其他一切(其他领域,从,到,身体都工作正常)

$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 );
}

根据API DateSent或(DateCreated)应该在消息列表对象中。任何想法

2 个答案:

答案 0 :(得分:0)

我通过浏览TWILIO站点示例来解决这个问题,结果发现他们的TWIL格式化JSON(和XML)的API guide使用了不同于TWILIO-PHP包装器库的属性名称。这里'使用PHP library时的典型Message JSON(由于隐私原因,我省略了一些字段),但正如您所见:

  • DateSent实际上是 date_sent
  • DateCreated实际上是 date_created ,依此类推..

一旦我将其插入我的代码,它就按预期工作了......

  "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,
    }]

答案 1 :(得分:0)

我自己也遇到过这个问题。看到您正在使用PHP库我可以尝试为您解决此问题。在本节中:

// 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
    );
}

$message->dateSent实际上是一个PHP DateObject,因此您可以通过将其更改为:$message->dateSent->getTimestamp()

来获取Epoch格式的时间戳

然后可以使用date()函数格式化返回的时间戳。

我希望这会有所帮助。