Python With Line Notify API

2024-08-05

筆記如何使用 Python 向 Line Notify 發送訊息、圖片與貼圖。

logo

說明

需要先取得 Line Notify 的 Token,驗證的在 Header 中加入 Bearer Token 即可。

url = 'https://notify-api.line.me/api/notify'

token = 'YOUR_TOKEN'
headers = {
    'Authorization': f'Bearer {token}'
}

發送文字訊息

import requests

data = {
    'message':'message'
}

requests.post(url, headers=headers, data=data)

發送圖片

import requests

data = {
    'message':'message'
}

imageFile = {'imageFile' : open(r'D:\images\1.png', 'rb')}
requests.post(url, headers=headers, data=data, files=imageFile)

發送貼圖

Sticker Package ID 與 Sticker ID 可以在 連結 找到。

import requests

data = {
    'message':'message',
    'stickerPackageId': 1,
    'stickerId': 1
}

requests.post(url, headers=headers, data=data)

Rate Limit

可以根據 requests.post 的回應 Headers 來確認剩下可以使用的訊息及照片發送次數以及重置時間。

from datetime import datetime

response = requests.post(url, headers=headers, data=data)

h = response.headers

print(f"Message Per Hour: {h['X-RateLimit-Limit']}")
print(f"Message Left    : {h['X-RateLimit-Remaining']}")
print(f"Images Per Hour : {h['X-RateLimit-ImageLimit']}")
print(f"Images Left     : {h['X-RateLimit-ImageRemaining']}")
print(f"Reset DateTime  : {datetime.fromtimestamp(int(h['X-RateLimit-Reset']))}")

參考資料

Line Notify API