GASでLINE Bot開発!Messaging API連携入門
/ 初心者向け
GASでLINE Bot開発!Messaging API連携入門
皆さん、こんにちは!Google Apps Script (GAS) を愛するブロガーの[あなたの名前]です。
今回は、多くの人が日常的に利用しているメッセージングアプリ「LINE」と、Googleが提供する強力な自動化ツール「GAS」を連携させて、オリジナルのLINE Botを開発する方法について、初心者の方にも分かりやすく解説していきます。
GASを使えば、プログラミングの経験が浅い方でも、手軽にWebアプリケーションや自動化ツールを作成できます。そして、そのGASを使ってLINE Botを開発できるとなれば、可能性は無限大ですよね!
なぜGASとLINE Botを連携させるのか?
GASとLINE Messaging APIを連携させることには、以下のようなメリットがあります。
- 手軽に始められる: GASはブラウザ上で動作するため、特別な開発環境の構築は不要です。すぐにコーディングを始められます。
- Googleサービスとの連携: Googleフォームからの回答をLINEで通知したり、GoogleスプレッドシートのデータをLINEで送受信したりと、Googleの各種サービスと簡単に連携できます。
- 低コスト: 基本的に無料(利用量によっては一部従量課金あり)で利用できるため、個人開発や小規模なプロジェクトに最適です。
- 自動化の幅が広がる: 定期的な情報発信や、ユーザーからの質問に自動で応答するなど、様々な業務を自動化できます。
LINE Messaging APIとは?
LINE Messaging APIは、LINEの公式アカウントを通じて、ユーザーと双方向のコミュニケーションを実現するためのAPIです。これを利用することで、以下のような機能を持つLINE Botを作成できます。
- テキストメッセージの送受信
- 画像、動画、音声などのファイル送受信
- スタンプの送受信
- ボタンやカルーセルなどのリッチなUIの表示
- ユーザーのプロフィール情報の取得
GASとLINE Messaging APIの連携ステップ
では、具体的にどのように連携していくのか、ステップごとに見ていきましょう。
1. LINE Developersでプロバイダーとチャネルを作成する
まず、LINE Messaging APIを利用するための準備が必要です。
1. LINE Developersにアクセス: https://developers.line.biz/ にアクセスし、LINEアカウントでログインします。
2. プロバイダーの作成: 「プロバイダー」を作成します。これは、LINE公式アカウントの提供元となる組織名のようなものです。
3. チャネルの作成: 作成したプロバイダーを選択し、「Messaging API」のチャネルを作成します。ここで、Botの名前や説明などを入力します。
4. Channel secretとChannel access tokenの取得: チャネル作成後、「Channel secret」と「Channel access token」が表示されます。これらは後ほどGASからLINE Messaging APIを呼び出す際に必要となるため、必ず控えておきましょう。特に「Channel access token」は、Botの認証に使用される重要な情報です。
2. GASプロジェクトを作成し、LINE Botのコードを記述する
次に、GASでLINE Botのプログラムを作成します。
1. GASプロジェクトの作成: Googleドライブを開き、「新規」→「その他」→「Google Apps Script」を選択して、新しいプロジェクトを作成します。プロジェクトに分かりやすい名前(例: MyLineBot)をつけましょう。
2. コードの記述: エディタが表示されたら、以下のサンプルコードを参考に、LINE Messaging APIと連携するコードを記述します。
function doPost(e) {
var json = e.postData.contents;
var lineEvent = JSON.parse(json);
var replyToken = lineEvent.events[0].replyToken;
var message = lineEvent.events[0].message.text;
var responseMessage = "";
if (message === "こんにちは") {
responseMessage = "こんにちは!何かお手伝いできることはありますか?";
} else {
responseMessage = "「こんにちは」と話しかけてみてください。";
}
replyLineMessage(replyToken, responseMessage);
}
function replyLineMessage(replyToken, message) {
var channelAccessToken = "YOUR_CHANNEL_ACCESS_TOKEN"; // ここに取得したChannel access tokenを入力
var url = "https://api.line.me/v2/bot/message/reply";
var headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + channelAccessToken
};
var payload = {
"replyToken": replyToken,
"messages": [
{
"type": "text",
"text": message
}
]
};
var options = {
"method": "post",
"headers": headers,
"payload": JSON.stringify(payload)
};
UrlFetchApp.fetch(url, options);
}
doPost(e)関数: LINEからWebhook(イベント通知)を受け取るための関数です。LINE Messaging APIはHTTP POSTリクエストでイベントを送信してくるため、GASではdoPost関数でこれを受け取ります。e.postData.contents: LINEから送信されたJSON形式のイベントデータです。lineEvent.events[0].replyToken: 返信に必要なトークンです。このトークンを使って、ユーザーにメッセージを返信します。lineEvent.events[0].message.text: ユーザーが送信したメッセージのテキストです。replyLineMessage関数: 実際にLINE Messaging APIにリクエストを送信して、メッセージを返信する関数です。YOUR_CHANNEL_ACCESS_TOKEN: ここに、先ほどLINE Developersで取得した「Channel access token」を入力してください。
3. Webhook URLを設定する
GASで作成したプログラム(doPost関数)をLINE Messaging APIに通知するためには、Webhook URLを設定する必要があります。
1. GASプロジェクトのデプロイ: GASエディタの左側にある「デプロイ」アイコン(▶️ のようなアイコン)をクリックし、「新しいデプロイ」を選択します。ドロップダウンメニューで「アドオン」を選択し、タイプは「ウェブアプリケーション」を選択します。実行するユーザーは「自分」を選択し、アクセス権限は「全員」にします。そして「デプロイ」ボタンをクリックします。
2. Webhook URLのコピー: デプロイが完了すると、「ウェブアプリのURL」が表示されます。このURLをコピーしておきましょう。
3. LINE Developersでの設定: LINE Developersのチャネル設定画面に戻り、「LINEログイン」タブ(または「Messaging API」タブ)から「Webhook設定」の項目を探します。そこに、先ほどコピーしたGASのウェブアプリURLを貼り付けて保存します。
4. テストしてみる
これで準備は完了です!LINEアプリで、作成したLINE公式アカウントを友達追加し、先ほどコードで定義した「こんにちは」とメッセージを送ってみましょう。正しく設定されていれば、Botから返信が来るはずです。
さらに発展させるには?
今回の例は非常に基本的なものですが、GASとLINE Messaging APIを組み合わせることで、さらに高度なBotを作成できます。
- Googleフォームとの連携: フォームの回答があったら、LINEで通知する。
- Googleスプレッドシートの操作: スプレッドシートのデータをLINEで表示したり、LINEからのメッセージでスプレッドシートを更新したりする。
- 画像やスタンプの送信: よりリッチなコミュニケーションを実現する。
- リプライメニューの活用: ユーザーが選択しやすいように、メニューを表示する。
GASの豊富な機能とLINE Messaging APIの連携により、あなたのアイデア次第で様々な用途に活用できるLINE Botが開発できます。ぜひ、色々な機能に挑戦してみてください!
まとめ
今回は、Google Apps Script (GAS) を使ってLINE Messaging APIと連携し、オリジナルのLINE Botを作成する基本的な手順について解説しました。
- LINE Developersでプロバイダーとチャネルを作成し、必要な情報を取得する。
- GASで
doPost関数を中心にLINE Botのコードを記述する。 - GASプロジェクトをデプロイし、Webhook URLをLINE Developersに設定する。
これらのステップを踏むことで、誰でも手軽にLINE Bot開発を始めることができます。GASの学習と並行して、このLINE Bot開発に挑戦してみることを強くお勧めします。
次回は、さらに具体的な活用事例や、よくある質問について解説していきたいと思います。お楽しみに!
GAS自動化の導入相談
請求書PDF作成、Gmail自動送信、Slack通知、スプレッドシート連携などを業務に合わせて実装できます。