前回、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^)