【问题标题】:Twilio get recording from call objectTwilio 从调用对象获取录音
【发布时间】:2017-05-05 13:15:47
【问题描述】:

我想从调用对象(JSON)中获取录音(URI),这些都是账户上的所有调用:

$this->log = $this->client->calls->read();

我像这样循环遍历它们:

foreach($this->log as $call) {
    echo $call->duration;
}

输出 5、10 等。如果我将持续时间更改为 recordings 它不起作用,为什么?

文档太没用了,它什么也没说。我可以在对象中看到 Recordings URI,但我不知道如何以“Twilio”方式访问它。 (或任何其他方式..)

https://www.twilio.com/docs/api/rest/call#instance-subresources-recordings

【问题讨论】:

    标签: php twilio


    【解决方案1】:

    这里是 Twilio 开发者宣传员。

    Recordings 不是Call 的属性,它们是子资源。因此,您需要再次调用 API。因此,要获取录音,您需要执行以下操作:

    foreach($this->log as $call) {
        foreach($call->recordings->read() as $recording) {
          echo $recording->uri;
       }
    }
    

    对您对文档的体验感到抱歉。我会将此反馈给团队,以便我们有希望在未来改进它。

    【讨论】:

    • 谢谢,这行得通。但是,现在加载 10 条录音需要 8 秒。是否有可能以另一种方式减少这些 $call->recording->read() 请求?
    • 这将需要很长时间,因为它会为每次调用向 API 发出请求。我实际上建议使用您可以在每个recording method 上设置的recording status webhooks,以便在它们准备好时接收记录详细信息,并将 URL 和其他数据保存到您自己的本地数据库中。这样可以节省多次访问 API,并意味着您可以优化数据以供您使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多