1. 程式人生 > >如何使用 Python 傳送簡訊?還不用收簡訊費?

如何使用 Python 傳送簡訊?還不用收簡訊費?

Twilio 是一個位於加利福尼亞的雲通訊(PaaS)公司,致力於為開發者提供通訊模組的 API。由於 Twilio 為試用帳戶提供了免費電話簡訊服務,我們可以在申請需要簡訊驗證的國外免費資源時,使用 Twilio 線上實時收取驗證簡訊。下面,本站就詳細介紹一下 Twilio 的申請及簡訊傳送過程。

註冊及設定

訪問 http://twilio.com/ 並填寫登錄檔單。註冊了新賬戶後,你需要驗證一個手機號碼,簡訊將發給該號碼。還需要做一個人機驗證,證明你是一個人!

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

人機驗證

需要提醒:這裡的人機驗證是用的 Google 的服務,也就意味著需要 fanqiang

註冊成功後,需要新建一個 Project,進入 Project 介面後可以看到有 SID 和 TOKEN 資訊,後面程式碼中會用到:

註冊成功後,需要新建一個 Project,進入 Project 介面後可以看到有 SID 和 TOKEN 資訊,後面程式碼中會用到:

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

你需要啟用一個電話號碼,就是讓 Twilio 分配一個,分配成功後,就可以用它來發簡訊了。在 Project 頁面 Phone Numbers 下操作即可:

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

要使用 Twilio 號碼傳送簡訊,需要先驗證收信方的手機號碼。在 Phone Numbers 選項卡中選擇 Verified Caller IDs,進入號碼驗證頁面,選擇使用簡訊驗證。

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

輸入手機驗證碼,確認後即完成了接收方的手機驗證。

下面,我們就可以使用程式碼來發送簡訊了。

使用

首先,要安裝,很簡單:

pip install twilio

其實 Twilio 官方文件提供了各種程式碼傳送簡訊的方式,如 Python:

# Download the helper library from https://www.twilio.com/docs/python/install
from twilio.rest import Client
# Your Account Sid and Auth Token from twilio.com/console
account_sid = 'AC4e30ba292bcf6fc97ca656aa71b34bc6'
auth_token = 'your_auth_token'
client = Client(account_sid, auth_token)
message = client.messages.create(
 from_='+15017122661',
 body='body',
 to='+15558675310'
 )
print(message.sid)

這裡,需要 Twilio 提供的試用賬戶包括一個電話號碼,它將作為簡訊的傳送者。還需要兩個資訊:你的賬戶 SID 和 TOKEN,Python 中,這些值將作為你的 Twilio 使用者名稱和密碼。

另外,to 的手機號需要是已經驗證過的!

傳送效果:

如何使用 Python 傳送簡訊?還不用收簡訊費?

 

由於是試用賬號,所以帶有一些 Twilio 試用字樣。也許在哪裡設定可以去掉,有興趣的可以研究下。

上次食行簽到領積分裡我們說過是不是有辦法提醒簽到成功,這裡就可以操作了,定義一個傳送簡訊的函式,將簽到資訊傳送到指定號碼上就行啦:

def send_sms(text):
 account_sid = 'your_sid'
 auth_token = 'your_auth_token'
 client = Client(account_sid, auth_token)
 message = client.messages.create(
 from_='your_from_num',
 body=text,
 to='your_to_num'
 )
 print(message.sid)

完整程式碼後臺回覆「食行生鮮」即可獲取。

總結

Twilio 的使用還是很簡單的,另外官方的文件也很贊,都提供了示例程式碼。這裡我們僅僅演示了傳送簡訊的功能,有興趣的還可以試一下接收簡訊、撥打電話等功能。

如果 Twilio 的註冊過程比較懵,可以參考下這篇:http://uuxn.com/twilio-toll-free-sms