正如评论中提到的,上面的代码不起作用,因为 remaining_messages = client.calls.count() 总是返回 50,这对于分页绝对没用。
相反,我最终只是尝试下一页直到它失败,这相当hacky。该库应该在列表资源中真正包含 numpages 以进行分页。
import twilio.rest
import csv
account = <ACCOUNT_SID>
token = <ACCOUNT_TOKEN>
client = twilio.rest.TwilioRestClient(account, token)
csvout = open("calls.csv","wb")
writer = csv.writer(csvout)
current_page = 0
page_size = 50
started_after = "20111208"
test = True
while test:
try:
calls_page = client.calls.list(page=current_page, page_size=page_size, started_after=started_after)
for calls in calls_page:
writer.writerow( (calls.sid, calls.to, calls.duration, calls.start_time) )
current_page += 1
except:
test = False