跳到主要內容

使用 IFTTT 傳送通知到手機上




點擊右上角Sign up
可以選擇Google帳號或是Facebook帳號。

因為我之前已經註冊過,所以我直接登入。


註冊/登入 成功右上角會有自己的帳號。

點擊 Documentation,這裡可以測試自己建立的事件是否可以正確觸發。
上方一長串的亂數就是你的Maker Key,通常是辨別你的身份用,請別洩漏出去。


如果想要更新自己的Maker Key,請回到上一頁點擊Settings,再點 Edit connection,網站就會換一組新的給你。(下圖為點擊後的狀況)


現在我們就來做一個傳送通知到手機上吧!
點擊自己的帳號名字,選擇第一個 New Applet,每一個觸發事件都叫做一個Applet

接著點擊我們的 +this ,也就是我們觸發來源 Source

IFTTT有提供非常多的Service,而我們今天要做的是透過HTTP推播通知到手機上,所以我們搜尋Webhook



第二步選擇Receive a web request

接著會要求我們輸入事件名稱(Event Name),輸入完後點擊下方的Create trigger
(補充:經測試過後盡量不要使用中文事件名稱,會比較容易出現編碼上的問題。)

到這邊我們的來源就已經設定好了,接著設定手機端的+That,也就是Action

搜尋端輸入notifications

第四步可以選擇簡單的文字格式(左邊),也可以選擇帶有照片及網址的通知(右邊)
今天選擇左邊做簡單的測試。

以氣象通知為例,我輸入的是

今天 {{Value1}}的天氣最高溫是  {{Value2}} 度,最低溫是 {{Value3}} 度。
- {{OccurredAt}}

這裡的Value1Value2Value3是來自HTTP端的query值或是包含在body都可以,由個人喜好選擇,稍後會實驗給各位看。

點擊Add ingredient可以選擇變數,EventName代表的是事件名稱,此範例是今日天氣。 OccurredAt就是時間觸發當下,也是可以自由添加,主要用途應該是當手機從沒網路到連上網路時,可以從OccurredAt得知事件發生時間(有時候手機上的通知時間會不準確)

完成後點擊Create action


我們的第一個事件就建立好了! 接下來就開始測試吧!

有三種方式:
  1. HTTP GET
  2. HTTP POST
  3. Terminal

第一種最簡單,只要在瀏覽器輸入我們剛剛事件名稱及query值,即可觸發成功。
Query 標準輸入方式是在網址後方加入
”?value1=VALUE1&value2=VALUE2&value3=VALUE3”

我的網址如下(以下範例都請將YOUR_MAKER_KEY改成自己的Maker Key)

因為中文編碼不一樣,所以在網站上看起來會怪怪的,但不影響手機端接收。

此時即可在手機收到通知。


第二種方式是HTTP POST,我使用Python requests示範。

結果圖,會回傳與網頁端相同的文字。


在手機端亦可收到結果。


第三種是使用終端機的方式。
(事件名稱的中文編碼上有修改,不然直接打中文會有問題,建議還是取英文比較好。)

curl -X POST -H "Content-Type: application/json" -d '{"value1": "高雄", "value2": "31", "value3": "24"}' https://maker.ifttt.com/trigger/%E4%BB%8A%E6%97%A5%E5%A4%A9%E6%B0%A3/with/key/YOUR_MAKER_KEY

回傳結果。

手機端。


總結:


以第一次來使用IFTTT來說,其實還蠻方便的,除了提供一般的HTTP方式,還可以用終端機的方式輸入,應該是可以大大擴充物聯網小設備的限制。另外也可以結合Python Web Scapying,做更多的擴充,期待越來越多的功能被實現出來。

資料參考:
    https://sspai.com/post/39243

留言