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

Twilio Client.calls.create()的twiml参数报错,该参数是否已废弃?

解决Twilio呼叫创建时twiml参数报错的问题

你猜的没错,这里确实是参数兼容性的问题,结合你使用的环境,主要有两个关键点需要解决:

1. Python 2.7与最新Twilio SDK的兼容性冲突

首先要明确:最新版Twilio Python SDK已经完全放弃支持Python 2.7了(从v7.0.0版本开始就不再兼容)。你用Python 2.7强行安装最新版SDK,本身就会导致很多功能异常,包括参数不匹配的问题——这也是你收到create() got an unexpected keyword argument 'twiml'错误的核心原因之一。

2. twiml参数的版本差异

在2020年的教程里使用twiml参数是没问题的,但那时候的SDK版本还支持Python 2.7,而现在:

  • 如果你坚持用Python 2.7,能安装的最高兼容SDK版本是v6.65.0,这个版本里没有twiml参数,要直接传入TwiML内容,需要用body参数替代。
  • 如果你升级到Python 3.x(强烈推荐,毕竟Python 2.7早已停止维护),最新版SDK里twiml参数是正常可用的,和教程代码完全一致。

具体解决方案

方案一:升级到Python 3.x(推荐)

这是最稳妥的长期方案,升级后你可以直接使用教程里的代码,不需要做任何修改,而且能享受到Twilio SDK的最新功能和安全更新。

方案二:继续用Python 2.7,调整SDK版本和代码

  1. 先卸载当前的Twilio SDK,安装最后支持Python 2.7的版本:
    pip uninstall twilio -y
    pip install twilio==6.65.0
    
  2. 修改代码,把twiml参数替换为body:
    call = client.calls.create(
        body='<Response><Say>Ahoy, World!</Say></Response>',
        to='+YYYYYYYYY',
        from_='+XXXXXXXXX'
    )
    

这样修改后,你的代码就能正常运行,成功发起带自定义TwiML的呼叫了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 17:27:41