Thực hiện cuộc gọi điện thoại bằng Python
Bài đăng này đã không được cập nhật trong 3 năm
Một ngày đẹp trời nào đó bạn gặp dự án mà khách hàng yêu cầu làm call-center chẳng hạn thì chắc hẳn có vô vàn giải pháp bạn có thể tìm thấy hoặc nghĩ ra. Hôm nay tôi sẽ gợi ý cho các bạn 1 giải pháp sử dụng ngôn ngữ Python để thưc hiện cuộc gọi trên di động của bạn
Công cụ sử dụng
Chúng ta có thể dùng cả Python 2 hoặc 3 để xây dựng ứng dụng này. Trong bài viết này chúng ta cũng dùng:
- pip và virtualenv để quản lý các gói thư viện của ứng dụng
- Một tài khoản Twilio miễn phí để sử dụng phone calling web API
- Thư viện Twilio's Python, cái mà đã có sẵn trong PyPI
Cài các thư viện phụ thuộc
Vui lòng mở terminal của bạn lên và sử dụng lệnh sau để tạo môi trường mới:
virtualenv phoneapp
Tiếp đến bạn cần activate nó lên
source phoneapp/bin/activate
Bạn sử dụng lệnh pip
để cài đặt gói thư viện Twilio Python
pip install twilio
Code Python
Tạo 1 file có tên là phone_calls.py với nội dung như sau:
from twilio.rest import TwilioRestClient
# Twilio phone number goes here. Grab one at https://twilio.com/try-twilio
# and use the E.164 format, for example: "+12025551234"
TWILIO_PHONE_NUMBER = ""
# list of one or more phone numbers to dial, in "+19732644210" format
DIAL_NUMBERS = ["",]
# URL location of TwiML instructions for how to handle the phone call
TWIML_INSTRUCTIONS_URL = \
"http://static.fullstackpython.com/phone-calls-python.xml"
# replace the placeholder values with your Account SID and Auth Token
# found on the Twilio Console: https://www.twilio.com/console
client = TwilioRestClient("ACxxxxxxxxxx", "yyyyyyyyyy")
def dial_numbers(numbers_list):
"""Dials one or more phone numbers from a Twilio phone number."""
for number in numbers_list:
print("Dialing " + number)
# set the method to "GET" from default POST because Amazon S3 only
# serves GET requests on files. Typically POST would be used for apps
client.calls.create(to=number, from_=TWILIO_PHONE_NUMBER,
url=TWIML_INSTRUCTIONS_URL, method="GET")
if __name__ == "__main__":
dial_numbers(DIAL_NUMBERS)
Chúng ta cần sửa 1 chút trước khi chạy ứng dụng. Đầu tiên bạn thêm một hoặc nhiều số điện thoại mà bạn muốn gọi đến vào danh sách DIAL_NUMBERS. Ví dụ:
DIAL_NUMBERS = ["+12025551234", "+14155559876", "+19735551234"]
Tiếp theo sửa TWILIO_PHONE_NUMBER và Account SID và Authentication Token tại dòng client = TwilioRestClient("ACxxxxxxxxxx", "yyyyyyyyyy")
Hãy mở trình duyệt web rồi đăng nhập vào tài khoản Twilio
Sao chép Account SID và Auth Token từ Twilio Console sau đó dán vào trong code ứng dụng của bạn
Sau đó bạn nhấn vào số điện thoại bạn muốn cấu hình. Dán vào URL với TwiML. Thay đổi HTTP POST thành HTTP GET. Trong bài viết này chúng ta sẽ sử dụng URL này http://static.fullstackpython.com/phone-calls-python.xml
Thực hiện cuộc gọi điện thoại
Giờ thì cầm điện thoại lên và trải nghiệm bằng lệnh:
python phone_calls.py
Và đây là kết quả sau vài dòng code Python
Như vậy chúng ta đã cùng nhau tìm hiểu làm thế nào để thực hiện cuộc gọi điện thoại bằng Python, bài viết được dịch từ https://www.fullstackpython.com/blog/make-phone-calls-python.html
Cảm ơn các bạn đã đọc bài, hẹn gặp lại các bạn ở các loạt bài tiếp theo. Happy coding!!!
All rights reserved