You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Twilio PHP SDK获取呼叫队列成员及等待时长

解决Twilio PHP SDK获取队列所有成员及等待时长的问题

你当前的问题出在使用了fetch()方法——这个方法是用来获取单个队列成员的,而非批量获取所有成员。要获取队列中的所有成员列表,应该使用read()方法,而非传入空参数调用fetch()。

正确的代码示例

$twilio = new Client($sid, $token);
// 指定目标队列SID,调用read()获取所有成员
$queueMembers = $twilio->queues('QUXXXXXXX')->members->read();

// 遍历所有成员,提取所需信息
foreach ($queueMembers as $member) {
    echo "呼叫SID: " . $member->callSid . "\n";
    echo "等待时长(秒): " . $member->waitTime . "\n";
    echo "当前位置: " . $member->position . "\n";
    echo "-------------------------\n";
}

为什么原始代码无法正常提取数据

当你调用members('')->fetch()时,Twilio SDK会尝试发起获取单个成员的请求(即使参数为空),返回的响应结构并非标准的列表格式。虽然你通过var_dump看到了queue_members元素,但这并非SDK设计的标准访问方式,直接操作这个内部元素会引发兼容性问题。

使用read()方法会返回Twilio\Rest\Api\V2010\Account\Queue\MemberList对象,它实现了迭代器接口,可直接用foreach遍历,每个元素都是MemberInstance对象,你能通过标准属性访问(如$member->callSid)获取所需字段。

内容的提问来源于stack exchange,提问作者Patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 00:24:56