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

Twilio Schedule Beta使用send_at发定时短信报TypeError错误

报错根因

TypeError: create() got an unexpected keyword argument 'send_at' 是本地安装的Twilio Python SDK版本过低导致的。定时消息属于Beta阶段能力,7.10.0版本之前的Twilio Python SDK没有为messages.create()方法定义send_at、schedule_type两个调度相关参数,调用时会直接抛出参数不识别错误。
除了SDK版本问题,参数格式错误、Beta权限未开通也会导致功能调用失败。

修复步骤
  • 升级Twilio Python SDK到支持版本
    执行以下命令升级本地SDK包:
    pip install --upgrade twilio
    升级完成后执行pip show twilio确认版本号,版本≥7.10.0即可支持定时消息参数。
  • 修正参数格式
    send_at参数不支持传入无时区信息的原生datetime对象,必须传入UTC时区的ISO 8601格式时间字符串,且设定的发送时间需要满足:距离调用接口的当前时间不少于15分钟、不超过7天,否则接口会返回参数校验错误。
  • 确认Beta权限开通
    进入Twilio控制台的Messaging Service配置页,确认当前使用的消息服务已经开通定时消息Beta功能权限,部分账号需要手动提交Beta功能使用申请后才能调用调度接口。
修正后的可运行代码示例
from datetime import datetime, timezone
from twilio.rest import Client

# 替换为你自己的账号信息
account_sid = "[你的Account SID]"
auth_token = "[你的Auth Token]"
messaging_service_sid = "[你的Messaging Service SID]"
client = Client(account_sid, auth_token)

# 构造UTC时区的定时发送时间,注意满足15分钟~7天的时间范围要求
scheduled_send_time = datetime(2022, 6, 18, 20, 36, 27, tzinfo=timezone.utc)

message = client.messages.create(
    messaging_service_sid=messaging_service_sid,
    body='This is a scheduled message',
    send_at=scheduled_send_time.isoformat(),
    schedule_type='fixed',
    # 如需接收发送状态回调可打开下方注释
    # status_callback='https://你的回调地址',
    to='+15559698489'
)

print(message.sid)

注意:定时消息必须绑定Messaging Service发送,调用接口时不要同时传入from_参数指定独立发送号码,否则会绕过消息服务的调度逻辑导致功能失效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 09:18:19