Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@wadayamada

【Rails】LINEBotでPush送信

概要

RailsからLineBotのPush送信します
以下のように、任意のタイミングで送信するやつです
Screenshot_20200912-131255.png

LINEBotの作成

記事がたくさんあるので、そちらを参照してください
例えば、以下のような記事があります

LINE BOTの作り方を世界一わかりやすく解説(1)【アカウント準備編】

RailsからLINEBotでPush送信

  1. Gemfileでライブラリline-bot-apiをインストールしておいてください
  2. ENV["LINE_CHANNEL_SECRET"]ENV["LINE_CHANNEL_TOKEN"]は、herokuなど、サーバ側で、設定する必要があります。この後、説明します
  3. 自分のuser_idは、チャンネル基本設定->あなたのユーザーID、から確認できます
  4. push_messageがlinebotでpush送信する部分です
linebot_controller.rb
class LinebotController < ApplicationController  
    require 'line/bot'  # gem 'line-bot-api'  

    def client  
      @client ||= Line::Bot::Client.new { |config|  
        config.channel_secret = ENV["LINE_CHANNEL_SECRET"]  
        config.channel_token = ENV["LINE_CHANNEL_TOKEN"]  
      }  
    end  

    def push

        message={
            type: 'text',
            text: "hello"
           }
        user_id =  '[送信先のLINEアカウントのユーザID]'
        response = client.push_message(user_id, message)
    end

  end  

Railsアプリをherokuにデプロイ

Railsアプリのデプロイの記事がたくさんあるので、そちらを参照してください
例えば、以下のような記事があります

HerokuにRailsアプリをデプロイする手順

この時、以下のように、チャネル基本設定->チャネルシークレット、Messaging API設定->チャネルアクセストークン、をherokuに必ず設定してください

$ heroku config:set LINE_CHANNEL_SECRET="[チャネルシークレット]"
$ heroku config:set LINE_CHANNEL_TOKEN="[チャネルアクセストークン]"

結果

herokuにデプロイした、Railsアプリのlinebot_controller.rbのアクションpushを実行します
以下のように「hello」がpush送信できました
Screenshot_20200912-131255.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?