Tin nhắn văn bản Dịch vụ tin nhắn ngắn [SMS] phổ biến để liên lạc trên toàn thế giới. Thật dễ dàng để gửi tin nhắn văn bản SMS từ ứng dụng Python bằng giao diện lập trình ứng dụng web [API]. Chúng ta hãy xem các công cụ chúng ta cần để nhanh chóng thêm khả năng SMS vào các ứng dụng Python của mình
Công cụ chúng tôi cần
Hướng dẫn này hoạt động với cả Python 2 và 3, vì vậy hãy đảm bảo bạn đã cài đặt một trong hai phiên bản đó
Nếu bạn cần hỗ trợ cài đặt pip và virtualenv, hãy xem một số bước đầu tiên về cách thiết lập Python 3, Flask và Green Unicorn trên Ubuntu 16. 04 Hướng dẫn LTS sẽ chỉ cách cài đặt các gói hệ thống cho các công cụ đó
Sử dụng API Web
Chúng tôi sẽ sử dụng API web để gửi SMS dễ dàng hơn và đáng tin cậy hơn. Truy cập trang web Twilio và đăng ký tài khoản dùng thử miễn phí, tuyệt vời hơn là chỉ gửi tin nhắn văn bản. ] sau đó đăng nhập vào tài khoản hiện tại của bạn
Tài khoản dùng thử Twilio cho phép bạn gửi tin nhắn văn bản đến số điện thoại đã được xác thực của riêng bạn. Khi bạn muốn gửi tin nhắn SMS đến bất kỳ số điện thoại nào ở quốc gia của bạn hoặc các quốc gia khác thì bạn có thể nâng cấp tài khoản của mình để gửi tin nhắn cho các phân số của một xu
Sau khi đăng ký, bạn sẽ nhận được một số điện thoại miễn phí ở quốc gia của mình. Chúng tôi có thể sử dụng số điện thoại đó mà không cần bất kỳ cấu hình nào để gửi tin nhắn văn bản đi. Bạn cũng có thể nhận tin nhắn văn bản nhưng điều đó yêu cầu phải thay đổi webhook URL Yêu cầu trong màn hình cấu hình số điện thoại - chúng tôi sẽ đề cập đến điều đó trong một bài đăng trên blog trong tương lai
Cài đặt phụ thuộc của chúng tôi
Mã của chúng tôi sẽ sử dụng thư viện trợ giúp để giúp gửi tin nhắn văn bản từ Python dễ dàng hơn. Chúng tôi sẽ cài đặt thư viện trợ giúp từ PyPI vào virtualenv. Đầu tiên chúng ta cần tạo virtualenv. Trong thiết bị đầu cuối của bạn, hãy sử dụng lệnh sau để tạo một virtualenv mới. Nếu bạn cần cài đặt virtualenv, hãy xem cách thiết lập Python 3, Flask và Green Unicorn trên Ubuntu 16. 04 hướng dẫn LTS
Kích hoạt virtualenv
source sendsms/bin/activate
Dấu nhắc lệnh sẽ thay đổi sau khi chúng tôi kích hoạt đúng cách virtualenv thành một thứ như thế này
Bây giờ hãy cài đặt thư viện trợ giúp Twilio Python. Chúng tôi đang sử dụng 6. 0. 0 trở lên, điều này rất quan trọng vì cú pháp trong bài đăng này không tương thích ngược với 5. x và các phiên bản thư viện trợ giúp Twilio trước đó
pip install twilio>=6.0.0
Thư viện trợ giúp hiện đã được cài đặt và chúng tôi có thể sử dụng nó với mã Python mà chúng tôi tạo và thực thi
Gửi SMS từ Python
Kích hoạt trình thông dịch Python trong thiết bị đầu cuối bằng lệnh python
hoặc tạo một tệp mới có tên send_sms.py
Chúng tôi cần lấy thông tin đăng nhập tài khoản của mình từ Bảng điều khiển Twilio để kết nối mã Python với tài khoản Twilio của chúng tôi. Truy cập Bảng điều khiển Twilio và sao chép SID tài khoản và Mã thông báo xác thực vào mã Python của bạn
Nhập đoạn mã sau vào trình thông dịch hoặc vào tệp Python mới. Bạn cũng có thể sao chép và dán mã từ kho lưu trữ blog-code-examples Git trong tổ chức Full Stack Python GitHub
# we import the Twilio client from the dependency we just installed from twilio.rest import Client # the following line needs your Twilio Account SID and Auth Token client = Client["ACxxxxxxxxxxxxxx", "zzzzzzzzzzzzz"] # change the "from_" number to your Twilio number and the "to" number # to the phone number you signed up for Twilio with, or upgrade your # account to send SMS to any phone number client.messages.create[to="+19732644152", from_="+12023351278", body="Hello from Python!"]
Tất cả các dòng trên bắt đầu bằng #
đều là nhận xét. Khi bạn nhập mã đó vào trình thông dịch hoặc chạy tập lệnh Python bằng cách sử dụng python send_sms.py
, SMS sẽ được gửi
Trong vài giây, bạn sẽ thấy một thông báo xuất hiện trên điện thoại của mình. Tôi đang dùng iOS nên đây là giao diện của tin nhắn văn bản tôi nhận được
Đó là nó. Bạn có thể thêm mã này vào bất kỳ mã Python nào để gửi tin nhắn văn bản. Chỉ cần giữ bí mật Mã thông báo xác thực của bạn vì nó sẽ cho phép bất kỳ ai có nó sử dụng tài khoản của bạn để gửi và nhận tin nhắn
Câu hỏi? . Tôi cũng trên GitHub với tên người dùng là mattmakai
Python luôn đứng đầu danh sách các ngôn ngữ phổ biến, vì vậy hãy xem cách gửi tin nhắn văn bản bằng Python
Thủ thuật không phải là ngôn ngữ bạn sử dụng để gửi tin nhắn văn bản, mà là API bạn sử dụng
Chắc chắn, về mặt lý thuyết, bạn có thể viết mã từ đầu để chấp nhận văn bản, định dạng nó cho SMS và chuyển tiếp nó đến nhà cung cấp dịch vụ viễn thông. Mười lăm năm trước, có thể bạn sẽ làm điều đó, nhưng nhờ các nhà cung cấp dịch vụ đám mây, không ai cần phải làm điều đó nữa
Ngày nay, chúng ta có hàng tá nền tảng truyền thông đám mây cung cấp giao diện lập trình ứng dụng [API] mà bất kỳ ai cũng có thể sử dụng để thêm tin nhắn văn bản vào ứng dụng một cách nhanh chóng
API SMS cho phép nhà phát triển tích hợp gửi và nhận tin nhắn văn bản với các ứng dụng hiện có của họ. Ở mặt sau, nó giao tiếp với một nền tảng truyền thông giao tiếp với các mạng viễn thông và thực hiện xử lý tin nhắn thực tế
Để xem nó hoạt động như thế nào, chúng tôi đã xem API SMS của Plivo. Plivo có xếp hạng cao nhất về mức độ hài lòng trong số các nền tảng truyền thông đám mây trên trang web đánh giá ngang hàng độc lập G2. Plivo cung cấp bộ công cụ phát triển phần mềm [SDK] bằng bảy ngôn ngữ, bao gồm cả Python
Để bắt đầu, hãy đăng ký tài khoản Plivo miễn phí và sử dụng tín dụng miễn phí được cung cấp để thuê số điện thoại để gửi và nhận tin nhắn
Tài liệu của Plivo cung cấp hướng dẫn về cách thiết lập môi trường phát triển Python, bao gồm cài đặt PlivoPython SDK, thiết lập máy chủ Flask và cài đặt ngrok, hiển thị các máy chủ cục bộ chạy phía sau NAT và tường lửa với internet công cộng qua các đường hầm an toàn
Bạn không cần Flask hoặc ngrok để gửi tin nhắn SMS, nhưng nếu định nhận chúng, bạn sẽ cần sử dụng các công cụ như thế này
Tạo ứng dụng Gửi SMS
Bây giờ bạn có thể đi sâu vào mã hóa. Tạo một tệp có tên send_sms. py và dán vào mã này
Thay thế trình giữ chỗ xác thực bằng thông tin đăng nhập xác thực cho tài khoản của bạn, bạn có thể tìm thấy thông tin này trên trang đầu của bảng điều khiển Plivo
Thay thế phần giữ chỗ số điện thoại bằng số điện thoại thực tế trong E. 164 [ví dụ: +12025551234]. Chọn số điện thoại di động của riêng bạn làm điểm đến để bạn có thể xem mã hoạt động. Sau đó lưu tập tin
import plivo
client = plivo.RestClient['','']
response = client.messages.create[
src='',
dst='',
text='Hello, world!',]
print[response]
Kiểm tra ứng dụng của bạn
Bây giờ hãy chạy chương trình
$ python send_sms.py
Bạn sẽ nhận được thông báo “Xin chào, thế giới. ” tin nhắn trên điện thoại của bạn
Tất nhiên ví dụ này đơn giản như chúng đến
Bạn có thể tưởng tượng các tình huống phức tạp hơn — chẳng hạn như tra cứu số điện thoại của khách hàng và gửi cho họ lời nhắc cuộc hẹn hoặc gửi cho ai đó mã bảo mật mà họ có thể sử dụng để xác thực hai yếu tố
Dù bạn sử dụng nó như thế nào, việc tích hợp SMS với các ứng dụng Python của bạn đơn giản hơn bạn có thể tưởng tượng. Tin nhắn văn bản mở ra tất cả các loại cơ hội cho doanh nghiệp. Không có thời điểm nào như hiện tại để sử dụng SMS để tạo lợi thế cạnh tranh cho doanh nghiệp của bạn