【ラズパイで猫ちゃんカメラ】その6 LINE NotifyのAPI制限を確認する

Raspberry Pi

前回

前回はpythonで定期的な動作を実装しました。

これで例えば10分毎に撮影し、画像をLINEすることができます。

今回

LINE NotifyのAPI制限を確認します。

画像のアップロード枚数制限やAPIのコール回数制限があります。

テストで画像を送りまくっていると制限にかかり、送れなくなります。

突然送れなくなるので、注意が必要です。

APIコール回数は1000回ですのでそうそう消費しないと思います。

ですが、画像のアップロード枚数制限は50枚(1時間あたり)です。

案外すぐ達してしまうのでモニターすることをオススメします。

ドキュメントのAPI Rate Limitに記載があります。

LINE Notify
LINE Notify allows you to send web notifications from GitHub, IFTTT, Mackerel, and more directly to your LINE chats.

各サービスごとに1時間にAPIをcallできる回数の上限が設定されています。 デフォルトは1000回に設定されています。

上限はaccess tokenごとに設定されています。

API Rate Limitのstatusは、APIの以下のresponse headerで確認することができます。

API Rate Limitの確認方法

こちらを参考にさせていただきました。ありがとうございます(^^)

LINE NotifyのAPI Rate Limitを取得する方法|teratail
前提・実現したいことpythonのライブラリrequestsを使用して、発行したトークンのAPI Rate Limitを取得したいです。 以下ソースコードを使用して、メッセージ・画像を送信しているのですが、送信できる画像サイズの上限や1時間当たりの送信上限数を知りたいです。
# line-notify-limit.py

import requests

token = 'あなたの取得したトークン'
api = 'https://notify-api.line.me/api/notify'
message = '\n\nLIMIT CHECK'

headers = {'Authorization': 'Bearer'+' '+token}
data = {'message': message}
resp = requests.post(api,headers=headers,data=data)

print(message)

# APIコール残
ratelimit = resp.headers.get("X-RateLimit-Limit") # max API call
ratelimit_remaining = resp.headers.get("X-RateLimit-Remaining") # API call remaining

print('API call remaining : {} / {}'.format(ratelimit_remaining,ratelimit))

# 画像うp残
ratelimit_image = resp.headers.get("X-RateLimit-ImageLimit") # max image upload at 1hour
ratelimit_image_remaining = resp.headers.get("X-RateLimit-ImageRemaining") # image upload remaining

print('Image upload remaining : {} / {} by an hour'.format(ratelimit_image_remaining,ratelimit_image))

# リセット時間
ratelimit_reset = resp.headers.get("X-RateLimit-Reset") # reset time UTC
print('Reset time UTC : {}'.format(ratelimit_reset))

# ステータスコード
print('HTTP status code : {}'.format(resp.status_code)) # HTTP status code

以上(^^)

コメント

タイトルとURLをコピーしました