緣起:
最近需要研究 FB API 與 LINE API 的功能,FB 的 API
有些難搞,弄得我很挫折,所以今天就先轉換跑道,來試試 LINE 的
API,正確來說,應該是它的 Notify功能。
最基本的應用:
點選 Generate token
然後輸入你這個應用的名稱,選擇你要傳送通知給哪個群組,也可以選擇發送給自已,打好之後按下
Generate token,它就會生成一個 token,要把那 token
給記錄下來,不然頁面關閉後,你就不能再拿到 token。
curl -H "Authorization: Bearer ${access_token}" -d "message=測試" https://notify-api.line.me/api/notify
-H 是增加標頭,那個 ${access_token} 就輸入你拿到的
token,那個 ${} 不用輸入。-d 可以用來送出 POST 內容,這邊 message
代表我們要送的訊息,最後是網址的部份,固定就那樣。
發送後如果成功,會收到 {"statue":200, "message":"ok"} 的
JSON 訊息,LINE 端也會收到通知。如果要傳送到群組裡的話,記得要把 LINE Notify 給拉進群組裡。
用 Python 傳送圖片:
我看了看 LINE Notify 的 API 文件,發現除了 Message,他還能傳
ImageFile,哇,能自動傳圖片的話感覺超酷的,所以我就接著去找,如果用 Line
Notify 傳圖片,這是找到的教學文章,用 python 的 requests 套件就能達成了。
下面是 Python 的程式碼。
import requests url = 'https://notify-api.line.me/api/notify' token = '我的token' headers = { 'Authorization': 'Bearer ' + token } image = open('./S__64331794.jpg', 'rb') data = { 'message':'圖片上傳測試' } imageFile = {'imageFile' : image} data = requests.post(url, headers=headers, data=data, files=imageFile)
然後這是我檔案的結構,S_64331794.jpg 是我要送的圖片。程式碼最主要的部份就是用 python 內建的 open,讀取二進位檔,然後把資料附加在 "imageFile" 這個 key 上,然後用 requests 的 post 將那些資料放在特定的欄位,發送出去。
沒有留言:
張貼留言