よぴやまの備忘録

プログラミングとベースの備忘録

LineNotifyを少しやって見た.

久しぶりの更新です.編入の勉強しなきゃいけないけど,なかなかやる気がおきないのでPythonで遊んだりして息抜きしてます.


twitterを眺めていたらLine NotifyなるものがLINEにはあり,それをPythonで使えるという情報を目にしたので調べて少しやってみたのでメモがてら簡単にまとめておきます.

Line Notifyとは?

Line Notifyのページによると,Line Notifyと連携することで色々なWebサービスの通知をLineで受け取ることができるそうです.
主な連携サービスとしてIFTTTとかGithubとかがあってそれらの通知をLINEで受け取れるから便利だねって感じのようです.

始め方

登録とトークン発行

まず上にも書いたLine Notifyのページにアクセスしてページ下部のサービスを登録するをクリックします.そして,Lineのログイン画面みたいなのが出てくるのでそれに入力します.

次に,サービスを登録するっていうなんかいかついページが出てきますがそれを無視して右上のユーザー名をクリックしてマイページに行きます.

そこに トークンを発行するというのがあるのでそれを選択します.(下画像のやつ) f:id:yopiyama:20170417235646p:plain

ここでトークン名と送るトークを選びそのトークにLineNotifyを友達追加します.ここで決めるトークン名はLineNotifyからのメッセージに含まれるので恥ずかしいのとかはやめておきましょう. f:id:yopiyama:20170418000629p:plain

トークン名とトークを決めて発行するをクリックするとトークンが画面に表示されるのでコピーとかして保存しましょう.一回しか表示されません. f:id:yopiyama:20170418000654p:plain

Pythonで実装してみる

Pythonのコードはすごく単純です.ライブラリはrequests使うので入れてない人はpipで入れましょう.

コードを下に載せておきます.

#/usr/bin/env python3
# coding:utf-8

import requests

def SendMessage():
    line_notify_token = "xxxxxxxxxxxxxxxxxxxxxxx" #発行したトークンを入力
    line_notify_api = "https://notify-api.line.me/api/notify"
    message = "This is test message!!"

    payload = {"message":message}  #メッセージの本文
    headers = {"Authorization":"Bearer " + line_notify_token}
    files = {"imageFile":open("test.png","rb")} #画像も送れる(jpegとpng対応)
    line_notify = requests.post(line_notify_api, data = payload, headers = headers, files = files)

if __name__ == "__main__":
    SendMessage()
    print("Successful")

これをtest.pyとでも名付けて保存します.それと同じディレクトリにtest.pngも用意しておきます.ちなみに今回test.pngはこんな感じの画像です.イラスト屋さんからへびの画像を頂いてきました. f:id:yopiyama:20170418001857p:plain

最後にターミナルとかで

python3 test.py

とか

./test.py

とかして実行したら完了です.メッセージがLineに届きます.

結果

こんな感じに届きます.成功です.f:id:yopiyama:20170418002406p:plain

感想

とても簡単だけど割と汎用性たかそうでいい感じです.Pythonのあらゆるコードの実行結果とかをLineで送りまくってもいいかも笑.

あと,今回はPythonでしたが要はAPI叩くだけなのでどんな言語でもいけます.他の言語バージョンもいずれやって見たいです.(たぶんやらない<–


2017/05/09 追記

僕のGithubのページにソースをのせました