LINE bot と Annict API を使用してアニメ情報をお知らせする Bot を作成する
- お題 : LINE bot と Annict API を使って今期のアニメ一覧を取得する
LINE BOT 作成までの流れ
LINE Bussiness Center のアカウントを取得
-
https://business.line.me/ja/
- いわゆる LINE のアカウント
Messaging API を Developer Trial で始める
- https://business.line.me/ja/companies/1278093/services/bot
- LINE@ が Developer 運用で使用できるようになる
- LINE@ MANAGER で bot の設定が可能になる
LINE@ MANAGER
システムの用意
今回はシステムを Heroku に用意
-
Messaging API のドキュメントは下記にある
メッセージのやりとりには channel secret と channel access token が必要になるので LINE Developer のページから確認する
- heroku の環境変数に登録しておくことで下記のように情報を取得可能
- システムを用意したら LINE Developer ページから 「Webhook URL」 を登録しておく
message = {
type: 'text',
text: 'hello'
}
client = Line::Bot::Client.new { |config|
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
}
response = client.reply_message("<replyToken>", message)
p response
Annict API を使うまでの流れ
- Annict API を使用するために認証をする
- 認証をすると「アプリケーションID」と「シークレットキー」が発行されるので、下記 API で token を発行
- token を使用して今期のアニメ一覧を取得
uri = URI.parse("https://api.annict.com/v1/works?fields=title&per_page=50&filter_season=2017-winter&sort_watchers_count=desc&access_token=#{ENV["ANNICT_ACCESS_TOKEN"]}")