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

Twilio PHP会话消息read方法按官方语法排序报错如何解决

问题原因

你遇到的参数类型报错是因为当前使用的Twilio PHP SDK版本与官方示例的版本参数定义不一致:你使用的版本中MessageList::read()方法第一个参数要求传入int类型的结果条数限制,第二个参数才接收筛选、排序相关的配置数组,你将配置数组放在了第一个参数位因此触发类型错误。

解决方法

方法1:调整参数顺序(适配当前SDK版本)

直接交换两个参数的位置即可实现倒序拉取20条消息:

$messages = $twilio_client->conversations->v1->conversations($conversation_channel_sid)
    ->messages->read(20, ["order" => "desc"]);

方法2:本地排序(兼容所有SDK版本)

如果调整参数顺序后仍不支持传排序配置,可以拉取消息后在本地做排序,示例实现如下:

// 先拉取最多20条消息
$messages = $twilio_client->conversations->v1->conversations($conversation_channel_sid)
    ->messages->read(20);

// 按消息创建时间倒序排序
usort($messages, function($a, $b) {
    return strtotime($b->dateCreated) - strtotime($a->dateCreated);
});

消息筛选实现

如果需要额外筛选消息,遍历消息集合匹配对应字段即可,示例筛选指定作者的消息:

$targetMessages = [];
foreach ($messages as $msg) {
    // 可根据需求替换为body、dateCreated等字段的判断规则
    if ($msg->author === '目标用户标识') {
        $targetMessages[] = $msg;
    }
}

内容的提问来源于stack exchange,提问作者udaya krishna shrestha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:54:02