使用Twilio C# API获取短信发送量始终显示0的问题排查
解决方案
- 必须筛选短信分类:默认的Usage Record返回全类型使用数据,你需要指定
category参数锁定短信发送记录,比如sms-outbound(出站短信,即你发送的短信)。 - 遍历所有对应记录:你的代码仅取第一条记录就终止循环,这条记录大概率不是短信分类的,所以
Count为0。需要遍历所有筛选后的记录,累加对应Count值。 - 修正后的示例代码:
public int sentToday() { int totalSent = 0; string accountId = ConfigurationManager.AppSettings["AccountId"]; string authToken = ConfigurationManager.AppSettings["AuthToken"]; TwilioClient.Init(accountId, authToken); // 筛选当日出站短信的使用记录 var records = TodayResource.Read(category: "sms-outbound"); foreach (var record in records) { totalSent += record.Count; } return totalSent; }
- 无需从短信日志统计:Usage Record API完全可以满足需求,只要参数正确。如果问题仍存在,检查:
- 账号权限是否允许访问Usage Record API
- Twilio控制台的Usage数据是否已更新(可能存在几分钟延迟)
- 确认
category参数是否准确(比如sms包含收发,sms-outbound仅统计发送)
内容的提问来源于stack exchange,提问作者shrekDeep
相关产品推荐
相关产品推荐

