持有Twilio API SID与Token,使用官方库获取短信数据的配置问题
解决Twilio Python库使用API Key获取短信数据的配置问题
你的问题在于使用Twilio API Key(SK开头的SID)而非主账户Auth Token时,需要正确配置Client的初始化参数,对应curl请求里的认证逻辑。
正确配置代码
import os from twilio.rest import Client # 替换为你的实际参数,也可以从环境变量读取 account_sid = 'ACxxxxxxxxx' api_key_sid = 'SKxxxxxxxxxxxxx' api_key_token = 'XXXXXXXXXXXXXXXXX' # 关键:用API Key作为认证信息,同时指定目标账户SID client = Client(username=api_key_sid, password=api_key_token, account_sid=account_sid) messages = client.messages.list(limit=20) for record in messages: print(record.sid)
配置逻辑说明
- 你的curl请求中,
-u $API_ACCOUNT_SID:$TOKEN是用API Key的SID和密钥做HTTP基础认证,请求路径里的Accounts/$TWILIO_ACCOUNT_SID指定了要操作的账户。 - 在Twilio Python库中:
username和password对应curl里的认证信息,即API Key的SID和Token;account_sid参数明确指定要操作的目标账户,和curl请求路径中的账户SID对应。
- 之前的错误是没有同时匹配这三个参数:要么只传API Key和Token但未指定账户SID,要么用账户SID搭配错误的Token,导致库无法正确识别认证身份和目标账户。
内容的提问来源于stack exchange,提问作者Yang L
相关产品推荐
相关产品推荐

