LINE Notify 是 LINE 所提供的服務,用戶可以透過 LINE Notify 的api,傳送資料給 「LINE Notify 」這個角色,他會幫你發布在他所屬的群組中。你要做的事就是:
1. 申請權杖
2. 申請權杖選擇想要傳送訊息的群組
3. 到該群組把LINE Notify 加入
4. 寫程式
申請權杖及選擇想要傳送的群組
LINE Notify 網址:https://notify-bot.line.me/zh_TW/
申請的過程請參考[1] 的說明,最重要的是你可以領到一個權杖,英文叫token。
到該群組把LINE Notify 加入
開啟 line,到該群組中把一個叫作「LINE Notify 」的好友加入,換句話說,你沒辦法直接指定要把訊息傳給個人。
PYTHONE程式傳送訊息和貼圖、檔案
LINE Notify 的api url = 'https://notify-api.line.me/api/notify'
python的程式如下,可傳送一個訊息一張貼圖和一個檔案。
import requests token="3VCeJhzwonGAENjAR5L2BIaToA5m1Wgk4LXgDbUJqz1" url = 'https://notify-api.line.me/api/notify' headers = { 'Authorization': 'Bearer ' + token } data = { 'message':'測試一下!', # 設定要發送的訊息 'stickerPackageId':'1', # 貼圖編號 'stickerId':'100', # 貼圖序號 } with open('img1333.jpg', 'rb') as f: files={'imageFile':f} data = requests.post(url, headers=headers, data=data, files=files)
實際範例:
注意事項
1。貼圖編號必須是 line notify 這個人有的貼圖才行,你不能亂填其它數字。否則會出現報錯:
{"status":400,"message":"LINE Notify account doesn't join group which you want to send."}
print(data.text) #印出回應
2. 訊息字串最大長度為1000字元
3. 每小時最大可傳送訊息數 1000
4. imageFullsize/imageThumbnail 這個欄位可以帶出圖片,但是只能傳圖片的url,不能傳出你電腦裡的圖片。可參考[1]裡的範例。
5. 可以使用的貼圖列表清單:
https://developers.line.biz/en/docs/messaging-api/sticker-list/
python 查看該通知的狀態
import requests token="3VCeJhzwonGAENjAR5L2BIaToA5m1Wgk4LXgDbUJqz1" st= "https://notify-api.line.me/api/status" headers = { 'Authorization': 'Bearer ' + token } res = requests.get(st, headers=headers) print(res.text) 執行結果: {"status":200,"message":"ok","targetType":"GROUP","target":"張〇 ‧●○°ⓞ∅◎o.芭樂長"}
剩餘可傳送訊息數
在命令列中如果直接使用 -v 參數,可以看到以下內容
...
< X-RateLimit-Limit: 1000 <== 每小時最大量
< X-RateLimit-ImageLimit: 50 <== 每小時圖片上傳最大量
< X-RateLimit-Remaining: 985 <== 目前剩餘量
< X-RateLimit-ImageRemaining: 50 <== 圖片上傳剩餘量
< X-RateLimit-Reset: 1653548258 <== 計數器重設時間
參考資料
[1] https://steam.oxxostudio.tw/category/python/spider/line-notify.html
[2] https://engineering.linecorp.com/ja/blog/using-line-notify-to-send-stickers-and-upload-images/
[3] LINE 官方文件 https://notify-bot.line.me/doc/en/