前回、Twitterのデベロッパーは却下されてしまったので別の方法を模索する中、LINE Notifyを使ってみることにしました。
こちらはAPI取得が楽ちんです。
自分のLINEや、LINEグループに画像を送るだけの今回のような用途には、こちらの方が適しているかもしれませんね!
トークンの取得
こちらでトークンを取得します
iPhoneからだとアクセストーン発行ボタンが見えませんでしたが、デスクトップモードにしたら見えました
ご注意ください(^^)
ドキュメントを見ると、トークンは一人当たり100個までのようです
まずはメッセージを送ってみる【Python】
まずはメッセージだけを送ってみたいと思います
プログラムはこれだけ↓
import requests
token = 'あなたの取得したトークン'
api = 'https://notify-api.line.me/api/notify'
message = 'Hello!! message check!!'
# 辞書型で記載
headers = {'Authorization': 'Bearer'+' '+token}
data = {'message': message}
requests.post(api,headers=headers,data=data)
たったこれだけでメッセージが送信できてしまいます
「あなたの取得したトークン」と書かれているところに、取得したトークンを記載します
本当は、トークンはOSの環境変数において読み込んだほうが良いらしいですが、ここではしません(以下参照)
次に画像を送ってみる【Python】
カメラ画像を送りたいので、これが本来の目的です
jpeg画像を用意して、以下のプログラムを実行すればLINEに画像を送ることができます
ここでは、ラズパイのデスクトップにtest.jpegという画像データをおいて、それを送信します
画像だけを送ることはできないようです(メッセージとセットで送る)
import requests
token = 'あなたの取得したトークン'
api = 'https://notify-api.line.me/api/notify'
images = '/home/pi/Desktop/test.jpeg' # 画像のフルパスを記載 形式はjpgかjpegかpng
message = 'Send image!!'
# 辞書型で記載
headers = {'Authorization': 'Bearer'+' '+token}
data = {'message': message}
files = {'imageFile': open(images,'rb')} # バイナリ形式(テキスト以外)
requests.post(api,headers=headers,data=data,files=files)
注意点 : 画像形式
画像の形式で詰まってました
tifは送れません
tif画像が送れず、ずっと悩んでました〜
対応しているのは
jpeg,jpg,png のみ
最大サイズは1024×1024
LINE Notifyで送れる最大サイズは1024×1024です
カメラ画像を送る際は、OpenCVでリサイズしてからにしましょう!
これを超えるサイズの検証はしていないので、超えた場合にどんな挙動(画像が送れないetc)をするか不明です
以下を参考にさせていただきました(^^)
おわり(^o^)