【问题标题】:Twilio PHP API how to get message timestamp DateSent?Twilio PHP API如何获取消息时间戳DateSent?
【发布时间】:2015-03-19 19:49:31
【问题描述】:

我有这个代码块在 Twilio 消息列表中进行迭代.. 但是对于 DateSent(或 DateCreated),我不断收到 null,我我正在寻找 bakc 消息的时间戳。其他所有内容(其他字段,from,to,body 都可以正常工作)

$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) 应该在消息列表对象中。任何想法

【问题讨论】:

    标签: javascript php twilio


    【解决方案1】:

    我自己也遇到过这个问题。看到您正在使用 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() 函数格式化返回的时间戳。

    我希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我通过浏览 TWILIO 站点示例发现了这一点,事实证明,他们的 TWIL 格式 JSON(和 XML)的 API guide 使用的属性名称与他们的 TWILIO-PHP 包装器库不同。这是典型的消息 JSON 时使用PHP library(出于隐私原因,我省略了一些字段),但如您所见:

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

      【讨论】:

      • 这是 JSON 返回,但 PHP 库实际上对其进行了不同的解析。
      • 你几乎得到了这个答案,但在我的情况下,即使是原始的“内容:受保护”JSON响应也会产生"date_sent": null。而 PHP 对象是 dateSent =>
      猜你喜欢
      • 1970-01-01
      • 2023-02-01
      • 2020-11-18
      • 2012-06-23
      • 2018-02-28
      • 2020-07-05
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多