2017年12月18日 星期一

透過 Python 發 Line Notify 三部曲 - 發圖圖圖片


要發圖片!
首先最重要的一件事!   是你必須有一張圖片!

先用 curl 下載一張圖片 (請原諒我幻想症又發作了命名為 girlfriend.jpg)
底下環境是在手機上的 Termux 執行,可參考第二篇
curl http://entdata-pic.stor.sinaapp.com/2014121008/548798f25462b01.jpg > girlfriend.jpg


接著,先透過 curl 試發 (Bearer 後面的 2Dxxx7V 的,記得換成你自己的 token)
curl -X POST https://notify-api.line.me/api/notify \
     -H 'Authorization: Bearer 2D111111111111111111111111117V' \
     -F 'message=test' -F 'imageFile=@/data/data/com.termux/files/home/girlfriend.jpg'


帥氣的按下 enter 後,這時你應該會看到你帥氣的 Line 彈跳出美麗的女友照片



/data/data/com.termux/files/home/ 真的是我 Termux 的家目錄
一般人應該是在 /home 而已,注意路徑前面要加個 @


好,不廢話,因為現在超累超想睡,明天還要上班,我要 GG 了…
Python 程式碼如下:

  1. import requests, os
  2.  
  3. """
  4. 發送 Line Notify 訊息
  5. """
  6. def lineNotify(token, msg, picURI):
  7. url = "https://notify-api.line.me/api/notify"
  8. headers = {
  9. "Authorization": "Bearer " + token
  10. }
  11. payload = {'message': msg}
  12. files = {'imageFile': open(picURI, 'rb')}
  13. r = requests.post(url, headers = headers, params = payload, files = files)
  14. return r.status_code
  15.  
  16.  
  17. token = os.environ["LINE_TEST_TOKEN"]
  18. msg = "Hello Python"
  19. picURI = "/data/data/com.termux/files/home/girlfriend.jpg"
  20.  
  21.  
  22. lineNotify(token, msg, picURI)



好啦,其實我是參考這篇來著的

如果你有卡關,可以先參考看看
第一篇,透過 Python 發 Line Notify
第二篇,透過 Python 發 Line Notify 二部曲 - 發表情符號

補充,突然想到,其實你的 D 槽裡面不用有一堆圖片也沒關係
也可以直接發網路上 http:// 上的圖片的樣子,但這個需求應該比較少
因為還要上傳到網路上,再指定該網址,就不再試了