GASでLINE Bot開発!Messaging API連携入門
/ 初心者向け
Google Apps Script (GAS) でLINE Bot開発!Messaging API連携入門
皆さん、こんにちは!Google Apps Script (GAS) を活用した業務効率化や自動化について発信しているブロガーです。
今回は、今やビジネスコミュニケーションに欠かせないLINEと、Google Apps Script (GAS) を連携させて、オリジナルのLINE Botを開発する方法について、初心者の方にも分かりやすく解説していきます。
なぜGASとLINE Messaging APIなのか?
GASは、Google Workspace(Gmail, Google Drive, スプレッドシートなど)と連携して様々な自動化を実現できるJavaScriptベースのプラットフォームです。特別な開発環境を準備することなく、Webブラウザ上でコーディングと実行が可能です。
一方、LINE Messaging APIは、LINE公式アカウントを通じてユーザーと双方向のコミュニケーションを取るためのAPIです。これにより、メッセージの送受信、スタンプ、画像、リッチメニューの表示など、様々な機能を実現するボットを作成できます。
この二つを組み合わせることで、例えば以下のようなことが実現できます。
- Googleフォームの回答をLINEで通知
- スプレッドシートのデータを元にLINEでメッセージを送信
- 簡単なFAQボットの作成
- 曜日や時間に合わせた定型メッセージの自動送信
連携の全体像
GASとLINE Messaging APIの連携は、主に以下の流れで行われます。
1. LINE Developersでの設定: LINE公式アカウントの作成、Messaging APIチャネルの有効化、Webhook URLの設定を行います。
2. GASでのスクリプト作成: LINEからのWebhookリクエストを受け取り、Messaging APIを使ってLINEに返信するためのGASコードを記述します。
3. GASのデプロイ: 作成したGASをWebアプリケーションとしてデプロイし、LINE Developersで設定したWebhook URLとして指定します。
STEP 1: LINE Developersでの初期設定
まずは、LINE Developersのサイトで必要な設定を行います。
1. LINE公式アカウントの作成: LINE Official Account Managerから、まだ公式アカウントがない場合は作成します。
2. Messaging APIチャネルの作成: LINE Developersのコンソールで、新規チャネルを作成します。「Messaging API」を選択し、必要な情報を入力してください。ここで「Channel secret」と「Channel access token」が発行されます。これらはGASからLINE APIを呼び出す際に必要になるので、必ず控えておきましょう。
3. Webhookの設定: 作成したMessaging APIチャネルの設定画面で、「Webhook URL」を設定します。このURLは、後ほどGASをデプロイした際に取得できるURLになります。
STEP 2: GASでのスクリプト作成
次に、GASでLINEからのメッセージを受け取り、返信するスクリプトを作成します。
GASのエディタを開き、新しいプロジェクトを作成します。Code.gs というファイルに以下のコードを記述します。
function doPost(e) {
// LINEから送信されたイベントデータを取得
var events = JSON.parse(e.postData.contents).events;
// 各イベントを処理
for (var i = 0; i < events.length; i++) {
var event = events[i];
// メッセージイベントの場合
if (event.type === 'message') {
var message = event.message;
var replyToken = event.replyToken;
// テキストメッセージの場合
if (message.type === 'text') {
var receivedText = message.text;
var replyText = '「' + receivedText + '」と入力されましたね!';
// LINE Messaging APIに返信メッセージを送信
replyMessage(replyToken, replyText);
}
}
}
// 200 OK を返す
return ContentService.createTextOutput(JSON.stringify({'content': 'OK'})).setMimeType(ContentService.MimeType.JSON);
}
function replyMessage(replyToken, replyText) {
var LINE_CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'; // ここに取得したアクセストークンを設定
var url = 'https://api.line.me/v2/bot/message/reply';
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + LINE_CHANNEL_ACCESS_TOKEN
};
var messageData = {
'to': event.source.userId, // 送信元ユーザーID
'messages': [
{
'type': 'text',
'text': replyText
}
]
};
var options = {
'method' : 'post',
'headers' : headers,
'payload' : JSON.stringify(messageData)
};
UrlFetchApp.fetch(url, options);
}
【重要】
YOUR_CHANNEL_ACCESS_TOKENの部分を、LINE Developersで取得した実際の「Channel access token」に置き換えてください。- このコードは、受け取ったテキストメッセージをそのまま返信するシンプルな例です。実際には、
if (message.type === 'text')の部分で様々な条件分岐を行い、より複雑な処理を実装します。
STEP 3: GASのデプロイとWebhook設定
作成したGASをLINE DevelopersのWebhook URLとして登録するために、Webアプリケーションとしてデプロイします。
1. GASエディタのメニューから「デプロイ」>「新しいデプロイ」を選択します。
2. 「タイプ」で「ウェブアプリ」を選択します。
3. 「実行権限」を「私」にし、「アクセス権限」を「Anyone」(Anyone with Google account でも可)に設定します。
4. 「デプロイ」ボタンをクリックします。
5. デプロイが完了すると、「ウェブアプリのURL」が表示されます。このURLをコピーしてください。
6. LINE DevelopersのMessaging APIチャネル設定画面に戻り、「Webhook URL」に先ほどコピーしたGASのウェブアプリURLを貼り付け、「更新」をクリックします。
これで、GASとLINE Messaging APIの連携設定は完了です!
動作確認
LINEアプリで、作成したLINE公式アカウントを友だち追加し、何かメッセージを送ってみましょう。GASのスクリプトが実行され、設定した応答メッセージが返ってくれば成功です。
まとめ
今回は、GASとLINE Messaging APIを連携させて、簡単なLINE Botを作成する基本的な流れを解説しました。GASの強力な機能とMessaging APIを組み合わせることで、より高度で便利なLINE Bot開発が可能になります。ぜひ、色々な機能を追加して、あなただけのオリジナルLINE Botを作成してみてください!
次回は、画像やボタン、リッチメニューなどのより高度な機能をGASで実装する方法について解説する予定です。お楽しみに!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。