12
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【LINE Bot】Cloud FunctionsでHello world

Posted at

Cloud Functions for Firebaseを利用して、LINE Botを実装します。
Cloud Functions for FirebaseでのHello worldに関しては別の記事にまとめてあるので、そちらを参照してください。

環境

LINE Botの作成

LINE Developerコンソールを開き、プロバイダーを作成する。
今回はHogeという名前で作成します。
1.png

チャネル設定画面に遷移するので、Messaging APIを選択します。
2.png

チャネルの詳細設定画面に遷移するので、次の項目を埋めて作成する。

  • チャネルの種類(デフォルト)
  • プロバイダー(デフォルト)
  • チャネルアイコン(任意)
  • チャネル名
  • チャネル説明
  • 大業種
  • 小業種
  • メールアドレス
  • プライバシーポリシーURL(任意)
  • サービス利用規約(任意)
    3.png

チャネルシークレットとチャネルアクセストークンの取得

チャネル基本設定よりチャネルシークレットをメモする。
4.png

Messaging API設定よりチャネルアクセストークンを発行し、メモする。
5.png

必要なライブラリのインストール

LINE BotのSDKをインストールする。

$ npm install @line/bot-sdk

環境変数を管理するために、dotenvをインストールする。

$ npm install dotenv

環境変数の管理

.envファイルを作成し、メモしたチャネルシークレットとチャネルアクセストークンを保存する。

CHANNEL_ACCESS_TOKEN="hogehogehoge"
CHANNEL_SECRET="fugafugafuga"

Hello worldのコードを書く

動く必要最低限のコードになります。

const functions = require('firebase-functions');
const line = require('@line/bot-sdk');
require('dotenv').config();

exports.helloWorld = functions.https.onRequest(async (req, res) => {
 const events = req.body.events;
 const client = new line.Client({
  channelAccessToken: process.env.CHANNEL_ACCESS_TOKEN,
  channelSecret: process.env.CHANNEL_SECRET,
 });
 const result = await client.replyMessage(events[0].replyToken, { type: 'text', text: 'こんにちわーるど' });
 res.json(result);
});

Webhookの設定

Messaging API設定でデプロイした関数のエンドポイントを設定し、Webhookの利用をONにする。
また、検証ボタンをクリックすることで正常に動いているか確認できる。
6.png

使ってみる

あとはLINEからMessaging API設定に載っているQRコードを読み込み、Botを登録する。
developers.line.biz_console_.png

何か文字を入力すると・・・ちゃんと返ってきました。
IMG_7283.PNG

12
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?