LINE Bot + SpreadSheet + Google Calendar에서 예약 앱 만들기 - 1

LINE Bot은?



LINE Bot은 지자체를 포함한 여러 곳에서 자동 응답 서비스로 보급되고 있습니다.
그 중에서도 가게 예약에 LINE Bot을 통합하고 싶다! 라는 요구는 많은 것 같다. . .
이런 서비스가 있을 정도로 일반적으로 보급되고 있다.
하지만 물론, 돈을 쓰는 것은 싫어! ! 라고 하는 일도 있지요. . .
그래서 무료 툴만으로 간단 예약 시스템을 만들어 보았습니다.

사용하는 것



LINE Messaging API
Google SpreadSheet
Google Calendar
Google Apps Script

개발 환경



clasp 2.3.0
Google 드라이브
Line Bot Designer

예약이라는 것으로 DB는 필수입니다.
이번에는 일부러 SQL 세우는 것도 번거롭기 때문에, Google SpreadSheet를 DB로서 채용했습니다.
또한 실제 입력 정보는 Google Calendar를 사용하여 시각화합니다.

구성



시스템의 구성은 이런 느낌입니다.



SpreadSheet + Google Apps Script를 중개하여 캘린더와 LINE Bot이 상호 작용하는 느낌이군요.
저장된 데이터는 [사용자 정보]와 [예약 정보]입니다.
[환경 정보]는 환경 설정 같은 느낌이군요. 토큰을 여기에 저장합니다.

Google Calendar 만들기



시작하기 전에 예약 일정을 포함하는 캘린더를 만듭니다.
그렇다고해도 이것은 간단합니다.
Google Calendar 을 열고 왼쪽의 버튼에서 캘린더를 추가하기 만하면됩니다.


이제 전용 캘린더를 만들었습니다.
전용 캘린더는 화면 왼쪽 끝의 [내 캘린더]에 생성됩니다.
전용 캘린더의 [설정 및 공유] 화면을 열고 아래쪽의 [캘린더 ID]를 기록해 둡니다.
이 [캘린더 ID]는 GAS에서 캘린더에 액세스하는 데 사용됩니다.

LINE Bot 만들기



LINE Bot은 LINE Developers에서 쉽게 만들 수 있습니다.
이번에는 GAS와의 연계이므로 Messaging API을 활성화합니다.
LINE이란 Webhook에서 걸려서 교환하는 느낌이군요.
등록은 이런 느낌입니다.


등록하면 Access Token이 필요하므로 여기에서 발행합니다.


GAS가 가능하면 Webhook URL을 등록해야 합니다만, 우선 하는 것은 종료입니다.

SpreadSheet 만들기



시작하려면 Drive에 Project 용 디렉토리를 만듭니다.
거기에 SpreadSheet를 만들고 다음과 같은 양식을 만듭니다.
Config에는 환경 정보를, Users에는 LINE에서 취득한 User 정보를, Booking에는 전송되어 온 예약 정보의 Raw 데이터를 보존합니다.


병행 인원수는 같은 시간에 예약이 쓰여도 좋은 인원수, 캘린더 ID와 LINE 액세스 토큰은 전술한 바와 같습니다.
이것으로 서버 측 (DB) 설정이 끝났습니다.
이것에 LINE Bot를 Webhook 경유로 연결해 갑니다.

계속



GAS와 LINE Bot의 작성은 양이 생각했던 것보다 늘어 버렸으므로, 다음의 기사로 정리하려고 생각합니다.

계속 기사↓
LINE Bot + SpreadSheet + Google Calendar에서 예약 앱 만들기 - 2
LINE Bot + SpreadSheet + Google Calendar로 예약 앱 만들기 - 3

좋은 웹페이지 즐겨찾기