2018年5月15日 星期二

使用IFTTT讓LINE發訊息(重點是要含圖片) (IFTTT line notify attach photo of picture)

之前在做一個系統,簡單來說就是門禁系統。如果有人在非上班時間要進機房,系統就會看一下webcam,來識別是不是機房的同仁,不管是不是機房的同仁都會發一個line訊息,裡面希望把人名、時間還有照片都傳上去。

在臉書上看到別人分享的作品,他介紹可以使用IFTTT來操作。
試了一下不難,但一直沒有辦法像他一樣把LINE夾圖。留言問他,他可能覺得這個太簡單也沒有回。

我只好再花時間試一下,還好順利試出來了,以下作個簡單的記錄:

其實這個圖就是關鍵了,原先的範例在Message那邊只有寫value1、value2、value3。
但我試了很久,只能把圖用url的方式寫入value2或value3,傳line給對方時,雖然圖片的連結會帶出來,但對方還要點一下才行,而且這年代隨意點一個連結都會中獎,所以這個方法不好。


後來經過幾個小時的測試之後,才改成上面的設定方式。把Value3放在下方的Photo URL。說也奇怪 這樣就能直接line圖了....

附上測試的程式碼:
curl -H "Content-Type: application/json" -X POST -d '{"value1":"進入機房","value3":"https://www.qrstuff.com/images/default_qrcode.png"}' https://maker.ifttt.com/trigger/LINE-IMAGE/with/key/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


後記:
我都照做了,可是我的圖還是送不出來怎麼辦呢?
我的作法是發現人臉辨識率達到70%的標準後,就存圖在/var/www/html (建議用jpg,檔案小很多)。接著再傳送外部連結:http://1.2.3.4/timestamp.jpg給line,但是一開始的時候照片都傳不出去,但用一般的圖床的照片又都可以傳的出去。(在google上隨意找的圖都可以送,不管是http或https,用朋友的blog的照片也可以送的出去https)

後來花了很多的時間才確認出來,你要傳給他的URL需要合法的網址,我一開始用http://1.2.3.4,不能傳圖,後來用http://a.b.c.d,也是不能傳,接著用https://a.b.c.d也不能傳。(我是申請免費的 nctu.me的),接著想要用let's encryption加在nctu.me上,但超過流量限制(中間有一度通過,但我不慎把cem及key刪除),之後再申請就不會過了 (因為nctu.me很多人,一下子就超過let's encryption的流量上限)

最後是在臉書大神的幫忙下,有朋友幫我設定一筆A記錄,之後就很順利的設定完成了。
看到圖透過LINE傳出來的時候,真的很感動。





4 則留言:

  1. 請問目前 還能傳圖片嗎? 我怎麼測試,直接在phot url 中輸入網址.png,或設定value3=網址.png似乎都沒有反應。 是不是不能傳圖了?

    回覆刪除
    回覆
    1. 您好,有段時間沒有使用了。我建議可以找一張網路上的圖片來測試(我當時隨意google一些圖拿來測試都是正常的)

      刪除
  2. 直接網址即可喔!!
    不需要Value3= 網址.png方式
    而是直接網址.png即可

    回覆刪除
  3. 阿,對喔!!我不是來解說答案的
    我是來問,可以將圖片當作超連結,點擊後連結到其他網站嗎??

    回覆刪除