前準備
Pythonでメッセージ投稿プログラムを書く前に、準備作業としてLine側の設定をしておきます。
すでにLINEが他のWebサービスかと連携してメッセージを投稿できる機能を用意してくれているので、これを使用します。
LINE Notifyという機能ですね。
notify-bot.line.me
では上のページにアクセスし、連携に必要なアクセストークンを発行します。
右上の「ログイン」をクリックします。
自分のLINEアカウントでログインします。
メールアドレスとパスワードを正確に入力しても以下のようにはじかれてしまう場合、スマートフォン側から「PCへのログイン許可」をOnにして再度やってみましょう。
ログインできたらマイページに移動し、以下の「トークンを発行する」をクリックします。
トークン発行画面になるので、トークン名を入力し、今回は「1:1でLINE Notifyから通知を受け取る」を選択します。
自分にのみ通知が送られてくるような設定ですね。
すると以下のようにトークンが発行されます。
これはPythonで連携する際に使用するので、コピーして保存しておきましょう。
これでLINE側の準備作業は完了です。
Pythonのコード
Pythonのコードですが、上記で発行したアクセストークンを記載してLINE NotifyのAPIにhttpリクエストを送ることでメッセージを投稿することができます。
下のAPIのドキュメントを参考にし、pythonプログラム中からpostリクエストによってメッセージを送信するようにしています。
notify-bot.line.me
import requests def linePost(message): LINE_URL = 'https://notify-api.line.me/api/notify' TOKEN = 'xxxxxxxxx' headers = {'Authorization':'Bearer '+ TOKEN} sendData = {'message': message} requests.post(LINE_URL, headers=headers, data=sendData) sendMessage = 'python-LINE連携\nテストメッセージ' linePost(sendMessage)
TOKEN = 'xxxxxxxxx'の部分は皆さんそれぞれが取得したアクセストークンに書き換えてください。
上記を実行すると、LINEにメッセージが投稿されました!