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

Twilio Calls资源分页失效,无法获取next_page_uri求助

解决Twilio通话记录分页中获取next_page_uri的问题

问题根源

你用的client.calls.list()方法是SDK封装后的简化调用,默认只返回通话记录的数组,底层的分页元数据(包括next_page_uri)被隐藏了,所以你看不到这些字段。

两种可行解决方案

方案1:获取单页完整分页数据

改用client.calls.page()方法,它会返回包含所有分页元数据的完整响应对象,其中nextPageUrl就是你要的next_page_uri:

const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);

client.calls.page({limit: 20})
  .then(page => {
    // 遍历当前页的通话记录
    page.instances.forEach(call => console.log(call.sid));
    // 获取下一页的API链接(对应原始响应的next_page_uri)
    console.log('下一页请求地址:', page.nextPageUrl);
    // 其他分页信息也可以直接获取
    console.log('当前页码:', page.page);
    console.log('每页记录数:', page.pageSize);
  });

方案2:自动遍历全部分页(无需手动处理next_page_uri)

如果需要获取所有通话记录,直接用SDK的each方法,它会自动检测并请求next_page_uri,直到所有页处理完成:

client.calls.each({limit: 20}, call => {
  // 处理单条通话记录
  console.log(call.sid);
})
.then(() => {
  console.log('所有通话记录处理完毕');
})
.catch(error => {
  console.error('获取记录出错:', error);
});

额外说明

你看到的官方示例里的next_page_uri是Twilio REST API的原始响应格式,Node.js SDK对其做了封装,把分页相关字段转换成了Page对象的属性(比如nextPageUrl对应原始的next_page_uri)。如果需要原始格式的URI,直接使用page.nextPageUrl即可,它就是完整的分页请求地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 00:45:36