เอกสารสำหรับ Twilio API สามารถดูได้ที่นี่
เอกสารประกอบ Library Python สามารถพบได้ที่นี่
twilio-python
ใช้เวอร์ชันความหมายที่แก้ไขสำหรับการเปลี่ยนแปลงทั้งหมด ดูเอกสารนี้สำหรับรายละเอียด
ห้องสมุดนี้รองรับการใช้งาน Python ต่อไปนี้:
ติดตั้งจาก PYPI โดยใช้ PIP ซึ่งเป็นตัวจัดการแพ็คเกจสำหรับ Python
pip3 install twilio
หากการติดตั้ง PIP ล้มเหลวบน Windows ให้ตรวจสอบความยาวเส้นทางของไดเรกทอรี หากมีอักขระมากกว่า 260 ตัวแล้วให้เปิดใช้งานเส้นทางยาวหรือเลือกตำแหน่งอื่นที่สั้นกว่า
ไม่ได้ติดตั้ง PIP หรือไม่? ลองติดตั้งโดยเรียกใช้สิ่งนี้จากบรรทัดคำสั่ง:
curl https://bootstrap.pypa.io/get-pip.py | python
หรือคุณสามารถดาวน์โหลดซอร์สโค้ด (zip) สำหรับ twilio-python
จากนั้นเรียกใช้:
python3 setup.py install
ข้อมูล หากบรรทัดคำสั่งให้ข้อความแสดงข้อผิดพลาดที่ระบุว่าสิทธิ์ถูกปฏิเสธลองรันคำสั่งข้างต้นด้วย
sudo
(เช่นsudo pip3 install twilio
)
ลองส่งข้อความ SMS ด้วยตัวเอง บันทึกตัวอย่างรหัสต่อไปนี้ไปยังคอมพิวเตอร์ของคุณด้วยตัวแก้ไขข้อความ ตรวจสอบให้แน่ใจว่าได้อัปเดตบัญชี account_sid
, auth_token
และหมายเลขโทรศัพท์ from_
ที่มีค่าจากบัญชี Twilio ของคุณ หมายเลข to
จะเป็นโทรศัพท์มือถือของคุณเอง
from twilio . rest import Client
# Your Account SID and Auth Token from console.twilio.com
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
message = client . messages . create (
to = "+15558675309" ,
from_ = "+15017250604" ,
body = "Hello from Python!" )
print ( message . sid )
บันทึกไฟล์เป็น send_sms.py
ในเทอร์มินัล cd
ไปยังไดเรกทอรีที่มีไฟล์ที่คุณเพิ่งบันทึกแล้วเรียกใช้:
python3 send_sms.py
หลังจากความล่าช้าสั้น ๆ คุณจะได้รับข้อความบนโทรศัพท์ของคุณ
คำเตือน ไม่เป็นไรที่จะใช้รหัสประจำตัวของคุณเมื่อทดสอบในพื้นที่ แต่คุณควรใช้ตัวแปรสภาพแวดล้อมเพื่อให้พวกเขาเป็นความลับก่อนที่จะใช้รหัสใด ๆ หรือปรับใช้กับการผลิต ตรวจสอบวิธีการตั้งค่าตัวแปรสภาพแวดล้อมสำหรับข้อมูลเพิ่มเติม
ไคลเอนต์ Twilio
ต้องการข้อมูลรับรอง Twilio ของคุณ คุณสามารถส่งผ่านสิ่งเหล่านี้โดยตรงไปยังตัวสร้าง (ดูรหัสด้านล่าง) หรือผ่านตัวแปรสภาพแวดล้อม
การรับรองความถูกต้องด้วยบัญชี SID และ Auth Token:
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
การรับรองความถูกต้องด้วย API Key และ API Secret:
from twilio . rest import Client
api_key = "XXXXXXXXXXXXXXXXX"
api_secret = "YYYYYYYYYYYYYYYYYY"
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
client = Client ( api_key , api_secret , account_sid )
อีกทางเลือกหนึ่งตัวสร้าง Client
ที่ไม่มีพารามิเตอร์เหล่านี้จะมองหาตัวแปร TWILIO_ACCOUNT_SID
และ TWILIO_AUTH_TOKEN
ในสภาพแวดล้อมปัจจุบัน
เราขอแนะนำให้จัดเก็บข้อมูลประจำตัวของคุณเป็นตัวแปรสภาพแวดล้อม ทำไม คุณจะไม่ต้องกังวลเกี่ยวกับการทำหนังสือรับรองของคุณและโพสต์โดยบังเอิญ
from twilio . rest import Client
client = Client ()
เพื่อใช้ประโยชน์จากโครงสร้างพื้นฐานระดับโลกของ Twilio ให้ระบุภูมิภาคเป้าหมายและ/หรือขอบสำหรับลูกค้า:
from twilio . rest import Client
client = Client ( region = 'au1' , edge = 'sydney' )
ตัวสร้าง Client
ที่ไม่มีพารามิเตอร์เหล่านี้จะมองหาตัวแปร TWILIO_REGION
และ TWILIO_EDGE
ภายในสภาพแวดล้อมปัจจุบัน
หรือคุณอาจระบุขอบและ/หรือภูมิภาคหลังจากสร้างไคลเอนต์ Twilio:
from twilio . rest import Client
client = Client ()
client . region = 'au1'
client . edge = 'sydney'
ซึ่งจะส่งผลให้ hostname
แปลงจาก api.twilio.com
เป็น api.sydney.au1.twilio.com
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
call = client . calls . create ( to = "9991231234" ,
from_ = "9991231234" ,
url = "http://twimlets.com/holdmusic?Bucket=com.twilio.music.ambient" )
print ( call . sid )
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
call = client . calls . get ( "CA42ed11f93dc08b952027ffbc406d0868" )
print ( call . to )
ห้องสมุดจัดการเพจสำหรับคุณโดยอัตโนมัติ คอลเลกชันเช่น calls
และ messages
มี list
และวิธี stream
หน้านั้นภายใต้ประทุน ด้วยทั้ง list
และ stream
คุณสามารถระบุจำนวนระเบียนที่คุณต้องการได้รับ ( limit
) และขนาดสูงสุดที่คุณต้องการให้แต่ละหน้าเรียกใช้ ( page_size
) ห้องสมุดจะจัดการงานให้คุณ
list
ดึงข้อมูลบันทึกทั้งหมดอย่างกระตือรือร้นและส่งคืนเป็นรายการในขณะที่ stream
ส่งคืนตัววนซ้ำ คุณยังสามารถใช้หน้าด้วยตนเองโดยใช้วิธีการ page
list
from twilio . rest import Client
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
for sms in client . messages . list ():
print ( sms . to )
โดยค่าเริ่มต้นไคลเอนต์ Twilio จะทำการร้องขอแบบซิงโครนัสไปยัง Twilio API เพื่ออนุญาตให้มีการร้องขอแบบอะซิงโครนัสและไม่ปิดกั้นเราได้รวมไคลเอนต์ HTTP แบบอะซิงโครนัสเสริม เมื่อใช้กับไคลเอนต์และวิธีการประกอบ *_async
การร้องขอให้กับ Twilio API จะดำเนินการแบบอะซิงโครนัส
from twilio . http . async_http_client import AsyncTwilioHttpClient
from twilio . rest import Client
async def main ():
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
http_client = AsyncTwilioHttpClient ()
client = Client ( account_sid , auth_token , http_client = http_client )
message = await client . messages . create_async ( to = "+12316851234" , from_ = "+15555555555" ,
body = "Hello there!" )
asyncio . run ( main ())
บันทึกคำขอ API และข้อมูลการตอบกลับไปยังคอนโซล:
import logging
client = Client ( account_sid , auth_token )
logging . basicConfig ()
client . http_client . logger . setLevel ( logging . INFO )
บันทึกคำขอ API และข้อมูลการตอบกลับไปยังไฟล์:
import logging
client = Client ( account_sid , auth_token )
logging . basicConfig ( filename = './log.txt' )
client . http_client . logger . setLevel ( logging . INFO )
เวอร์ชัน 8.x ของ twilio-python
ส่งออกคลาสข้อยกเว้นเพื่อช่วยให้คุณจัดการข้อยกเว้นที่เฉพาะเจาะจงกับวิธี Twilio หากต้องการใช้งานนำเข้า TwilioRestException
และจับข้อยกเว้นดังนี้:
from twilio . rest import Client
from twilio . base . exceptions import TwilioRestException
account_sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
auth_token = "your_auth_token"
client = Client ( account_sid , auth_token )
try :
message = client . messages . create ( to = "+12316851234" , from_ = "+15555555555" ,
body = "Hello there!" )
except TwilioRestException as e :
print ( e )
ในการควบคุมการโทรศัพท์แอปพลิเคชันของคุณจะต้องส่งออก Twiml
ใช้ twilio.twiml.Response
เพื่อสร้างคำตอบดังกล่าวได้อย่างง่ายดาย
from twilio . twiml . voice_response import VoiceResponse
r = VoiceResponse ()
r . say ( "Welcome to twilio!" )
print ( str ( r ))
<? xml version = " 1.0 " encoding = " utf-8 " ?>
< Response >< Say >Welcome to twilio!</ Say ></ Response >
Dockerfile
ที่มีอยู่ในที่เก็บนี้และภาพ Docker twilio/twilio-python
นั้นถูกใช้โดย Twilio เพื่อการทดสอบเท่านั้น
หากคุณต้องการความช่วยเหลือในการติดตั้งหรือใช้ห้องสมุดโปรดตรวจสอบศูนย์ช่วยเหลือ Twilio Support ก่อนและยื่นตั๋วสนับสนุนหากคุณไม่พบคำตอบสำหรับคำถามของคุณ
หากคุณพบข้อผิดพลาดในห้องสมุดแทนหรือต้องการเพิ่มคุณสมบัติใหม่ให้ไปข้างหน้าและเปิดปัญหาหรือดึงคำขอกับ repo นี้!