C#學習筆記
應用所需 |
1. Visual Studio 2017 |
目的: |
1. 透過Twilio (PaaS平台)發送訊息到WhatsApp的通訊應用軟體上 (目前WhatsApp的Business API 尚未可正式使用,這邊提供一個PaaS的發送管道) ※通訊軟體之前有介紹過Line 的ChatBot 可以參考該篇 => 連結 |
範例檔案: | https://github.com/gotoa1234/WhatsAPPSendMessage |
實作必須: |
1. 手機號碼 2. Twilio帳號 |
本篇分為三部分 : |
|
一、 | Twilio 註冊教學 |
二、 |
設定SandBox |
三、 | C# 程式碼發送訊息到WhatsApp 應用軟體上 |
一、 Twilio 註冊教學
Step 1:進入Twilio 官網 ,選擇右邊的Sign Up 進行註冊
Step 2:這邊輸入個人的用戶資訊
Step 3:下方處輸入電話號碼,進行註冊
Step 4:註冊的手機號碼會收到簡訊,得到驗證碼,請輸入後繼續下一步
※黑框處是註冊的電話號碼
Step 5:註冊完畢,會進入創建專案的首頁,這邊用預設,請直接選擇最下方的 Continue
Step 6:專案名稱 :隨意
Step 7:直接跳過,先不邀請任何人,之後可以再邀請
二、 設定SandBox
Step 1:進入專案的頁面,請選擇下方的 訊息圖片,進入SandBox設定
Step 2:進入後選擇 WhatsApp
Step 3:這邊會確認是否啟用SandBox ,請打勾 I agree. ,然後 Confirm ,進入下一步
Step 4:這邊要進行SandBox 註冊,我們得到
1. +1 415 523 8886 是SandBox 的手機號碼 ,並請用 join horn-vegetable 進行設定
2. 目前頁面等待接收
Step 5:到WhatsApp 上搜尋, +1 415 523 8886的帳號
Step 6:請對該號碼,輸入 join horn-vegetable
join horn-vegetable
Step 7:可以得到訊息,SandBox 註冊成功,接著回到專案頁面
Step 8:收到訊息了 Message Reveived! 請在選擇 Next: Send a One-Way Message
Step 9:接著設定雙向通訊,選擇Two-Way Messaging
Step 10:回到WhatsApp 上,隨意輸入到剛剛 SandBox 的號碼上,這邊輸入:123
Step 11:回到專案頁面,得到訊息 :123 並且有來源 From: whatsapp +電話號碼,請選擇Send a Reply 進行回送訊息
Step 12:如下,Body 是SandBox發送的訊息,這邊直接按下 Make Request 按鈕,發送訊息
Step 13:WhatsApp上可以正確收到訊息,到此為止註冊完畢了
Step 14:回到Twilio頁面右上角,請選擇Setting
Step 15:可以看到 ACCOUNT SID 與 AUTH TOKEN 兩個資訊,下一章節要透過這兩個號碼,在程式中進行發送訊息的功能
三、 C# 程式碼發送訊息到WhatsApp 應用軟體上
Step 1:請打開Github的專案(連結),有以下代碼,請把:
1. WhatsApp對方的號碼
2. 自己帳號的 Account SID
3. 自己帳號的 Token
放進下方的位置,然後執行程式
static void Main(string[] args)
{
string whatsappRecivePhones = "發送對象的電話號碼例如 : +8861234567";
string userName = "您的Account SID";
string authToken = "您的Token";
string whatsappSandBox = "whatsapp:+14155238886";
string messageString = "Hello 這是仙草奶綠 Twilio 測試";
//設定登入帳號
TwilioClient.Init(
userName,
authToken
);
//發送對象
try
{
var message = MessageResource.Create(
from: whatsappSandBox,
to: $"whatsapp:{whatsappRecivePhones}",
body: $"{DateTime.Now} => 訊息:{messageString} "
);
Thread.Sleep(1500);//停頓1.5秒
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
Step 2:可以發現之後可以透過SandBox Twilio API 發送訊息給用戶了