【 LINE BOT】無料で公開するまでのチュートリアル ( sinatra + heroku )
LINEのBOT APIが無償提供
https://business.line.me/services/products/4/introduction
最近、1万人限定でLINEから「BOT API Trial Account」が無償提供されました。
それと同時にLINE BOTに関する記事が続々と出てきていますが、気をつけないといけないところなどがあったので、備忘録として残しておきます。
LINEのdeveloperアカウントを作成する
https://business.line.me/services/products/4/introduction
先ほども紹介した上記サイトから、利用開始を選択します。
案内に沿って進めていけば、LINE BOTが作れます。
「Basic infomation」が見れるところまでいったら、いったんOKです。
sinatraアプリを作る
続いてsinatraアプリを作りましょう。
一応。
dotinstall.com
Gemfileはこんな感じ。
source "https://rubygems.org" gem 'sinatra' gem 'rest-client'
config.ruファイルはこんな感じです。
require 'bundler/setup' require 'sinatra/base' require 'json' require 'rest-client' class App < Sinatra::Base post '/callback' do params = JSON.parse(request.body.read) params['result'].each do |msg| request_content = { to: [msg['content']['from']], toChannel: 1383378250, # Fixed value eventType: "138311608800106203", # Fixed value content: msg['content'] } endpoint_uri = 'https://trialbot-api.line.me/v1/events' content_json = request_content.to_json RestClient.proxy = ENV["FIXIE_URL"] RestClient.post(endpoint_uri, content_json, { 'Content-Type' => 'application/json; charset=UTF-8', 'X-Line-ChannelID' => ENV["LINE_CHANNEL_ID"], 'X-Line-ChannelSecret' => ENV["LINE_CHANNEL_SECRET"], 'X-Line-Trusted-User-With-ACL' => ENV["LINE_CHANNEL_MID"], }) end "OK" end end run App
ほぼ参考記事のソースコードを使わせて頂きました。
herokuで公開
次にherokuでこのappを公開していきます。
一応。
dotinstall.com
使ったことない人いたら、これとかみて感覚つかんでもらえれば。
流れに沿ってheroku appを作っていきます。
$ heroku addons:create fixie:tricycle
続けてコマンドラインから上記コマンドを入力します。
「Your IP addresses are」のあとにIPアドレスが2つ発行されるので、メモしておいてください。
※あとから、herokuの管理画面で確認することも可能です。
LINE developersの設定, 環境変数の設定*
ここまで終わったら、再びLINE developersの画面に戻り、諸々設定していきます。
注意点がいくつかあるので、おさえておきましょう。
まずは「Basic infomation」画面から、
- Channel ID
- Channel Secret
- MID
を確認しましょう。
config.ruの変数名と見合わせながら、各項目を登録していきます。
※FIXIE_URLはすでに定義されています。
次に「Basic infomation」の中身を編集していきます。
「Callback URL」をお使いの環境に合わせて入力するのですが、ポート番号の:443をつけなければいけません。
なので、入力するURLは
https://hogehoge.com:443/callback
というようになります。「hogehoge.com」にはherokuで作ったappのURLを入力してください。
最後は、左上のメニューから「Server IP Whitelist」を設定していきましょう。
先ほどメモしたIPアドレスを2つ入力してください。
これで準備は完了です!
QRコードから友達登録して、話かけてみましょう!
githubにもあげておきます。
これから色々いじっていきたいと思います〜。