アカハヤのブログ

クズと天才は紙一重 twitter:@akahaya719

Line::Bot::APIでpush通知

Gamfileに以下を追加してbundle install

gem 'line-bot-api'

 

使いたいところに以下を記述するだけ

require 'line/bot'
client = Line::Bot::Client.new { |config|
config.channel_secret = "<SECRET_TOKEN>" config.channel_token = "<ACCESS_TOKEN>" } 
message={ type: 'text', text: '(送信したいメッセージ)' } user_id = uから始まるLINEの送信先識別子 response = client.push_message(user_id, mesage)

成功した場合200が返ってくる 

 

shellで確認可能

 

curl -X POST \
-H 'Content-Type:application/json' \
-H 'Authorization: Bearer {ACCESS_TOKEN}' \
-d '{
"to": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"message":[
{
"type":"text",
"text":"(送信したいメッセージ)"
}
]
}' https://api.line.me/v2/bot/message/push

これは一人のユーザに対してなので、

Multicastを使いたい場合は以下のようにする

require 'line/bot'

client = Line::Bot::Client.new do |config|
config.channel_token = "#{ACCESS_TOKEN}"
end

user_ids = ['user1','user2']
message = {
type:'text',
text:'(送信したいメッセージ)'
}
response = client.multicast(user_ids, message)

 

Multicastはshellがうまく動作しないので省く