37
34

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 + SpreadSheet + Google Calendar で予約アプリを作る - 1

Last updated at Posted at 2020-05-13

LINE Botって?

LINE Botは自治体含め,様々なところで自動応答サービスとして普及しています.
中でもお店の予約にLINE Botを組み込みたい!という要求は多いようで...
こんなサービスが有るくらい,一般的に普及しています.
でももちろん,お金をかけるのは嫌!!ってこともありますよね...
そこで無料ツールだけでかんたん予約システムを作ってみました.

使うもの

LINE Messaging API
Google SpreadSheet
Google Calendar
Google Apps Script

開発環境

clasp 2.3.0
Google Drive
Line Bot Designer

予約ということでDBは必須です.
今回はわざわざSQL建てるのも面倒くさいので,Google SpreadSheetをDBとして採用しました.
また,実際の入力情報はGoogle Calendarを使用して可視化します.

構成

システムの構成はこんな感じです.

System.png

SpreadSheet + Google Apps Scriptを仲介して,カレンダーとLINE Botがやり取りする感じですね.
保存するデータは[ユーザ情報]と[予約情報]です.
[環境情報]は環境設定みたいな感じですね.トークンとかをここに保存します.

Google Calendar の作成

はじめに,予約の予定を入れるカレンダーを作成します.
といってもこれは簡単です.
Google Calendarを開いて,左にあるボタンからカレンダーを追加するだけ.
calendar.png

これで専用のカレンダーが出来ました.
専用カレンダーは画面左端の[マイカレンダー]の中に作成されます.
専用カレンダーの[設定と共有]画面を開いて,下の方にある***[カレンダーID]をメモ***しておきます.
この[カレンダーID]はGASからカレンダーにアクセスするのに使用します.

LINE Botの作成

LINE BotはLINE Developpersから簡単に作成できます.
今回はGASとの連携なので,Messaging APIを有効化します.
LINEとはWebhookでひっかけてやり取りする感じですね.
登録はこんな感じです.
LINE.png

登録したら,Access Tokenが必要なのでここから発行します.
LINE_Token.png

GASが出来たらWebhook URLを登録する必要があるのですが,とりあえずやることは終了です.

SpreadSheetの作成

はじめに,Driveの中にProject用のディレクトリを作成します.
そこにSpreadSheetを作り,以下のようなフォームを作成します.
Configには環境情報を,UsersにはLINEから取得できたUser情報を,Bookingには送られてきた予約情報のRawデータを保存します.
SpreadSheet.png

並行人数は,同じ時間に予約がかぶっても良い人数,カレンダーIDとLINE アクセストークンは前述したとおりです.
これでサーバー側(DB)の設定が終わりました.
これにLINE BotをWebhook経由で繋いでいきます.

続く

GASとLINE Botの作成は量が思ったよりも増えてしまったので,次の記事でまとめようと思います.

続きの記事↓
LINE Bot + SpreadSheet + Google Calendar で予約アプリを作る - 2
LINE Bot + SpreadSheet + Google Calendarで 予約アプリを作る - 3

37
34
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
37
34

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?