目次
概要
Botに何かメッセージを吐かせるには、以下の手順が必要になる。
- LINE WORKSでアカウント作成
- LINE WORKSでプロジェクト作成
- Botの作成
- GASで認証をする
- GASのプログラムとBotを結びつける(コールバックの設定)
まず基礎として、メッセージをLINE WORKSで
ソースコード
function doPost(e) {
if (e == null || e.postData == null || e.postData.contents == null) {
console.log("error")
return;
}
var requestJSON = e.postData.contents;
var requestObj = JSON.parse(requestJSON);
var sendMsg = requestObj.content.text;
let env = getEnv_()
env.userId = requestObj.source.userId
LINEWORKS.userMessageSend(env, sendMsg);
}
function getEnv_() {
return {
CLIENT_ID: [Client ID],
CLIENT_SECRET: [Client Secret],
SERVICE_ACCOUNT: [Service Account],
PRIVATE_KEY: "-----BEGIN PRIVATE KEY-----\n[Private Keyの内容]\n-----END PRIVATE KEY-----",
DOMAIN_ID: [DOMAIN ID],
ADMIN_ID: "[ログインする時のID]",
BOT_ID: [BotのID]
}
}
デモ動画
詳細
LINE WORKSでアカウント作成
公式ページの「今すぐはじめる」のところからアカウントを新規作成する。
この点は問題なくできると思う。ちなみに、今回は開発なので「管理者として始める」を選択して必要事項を入力していく。
LINE WORKSでプロジェクト作成
- Developers Consoleのページから「アプリの新規追加」を押下する
- アプリ名を入力して「同意して作成する」を押下する
- アプリの説明を何かしら入力して「保存」を押下する
プログラムを書く
GASはスプレッドシートの「拡張機能」->「Apps Script」から作成する。
Botにメッセージを送らせるには以下の箇所にアカウントやbotのデータを送る必要がある。
function getEnv_() {
return {
CLIENT_ID: [Client ID],
CLIENT_SECRET: [Client Secret],
SERVICE_ACCOUNT: [Service Account],
PRIVATE_KEY: "-----BEGIN PRIVATE KEY-----\n[Private Keyの内容]\n-----END PRIVATE KEY-----",
DOMAIN_ID: [DOMAIN ID],
ADMIN_ID: "[ログインする時のID]",
BOT_ID: [BotのID]
}
}
- CLIENT_ID
- CLIENT_SECRET
- SERVICE_ACCOUNT
1. Developers Consoleのページから左端の「API」->「ClientApp」を選択
2. 今回実装を行なっているプロジェクトを選択
3. 以下の画面が表示されるので、そこに以下の項目のデータがある。- CLIENT_ID
- Client Secret
- Service Account
- PRIVATE_KEY
1. Developers Consoleのページから左端の「API」->「ClientApp」を選択
2. 今回実装を行なっているプロジェクトを選択
3. Private Keyの項目の「発行 / 再発行」を押下してファイルをダウンロードする。
4. エディタで開くと(メモ帳とか)文字列の羅列がある。それらの改行をすべて「\n」に置き換えて一行の文字列にした後、上記の「PRIVATE_KEY」に格納する。 - DOMAIN_ID
Developers Consoleのページの右端に表示されている
- ADMIN_ID
ログインする時に入力するID - BOT_ID
1. Developers Consoleのページから左端の「Bot」を選択
2. 現在使用しているBotを選択
3. BotのページにBot IDが表示されてるので、その数字を入力する
プログラムをBotに反映させる
プログラムが書けたら「デプロイ」を押下して「新しいデプロイ」を押下する。
次に、アクセスできるユーザーを「全員」にして「デプロイ」ボタンを押下する。
そうすると以下のような情報が表示される。
下の「ウェブアプリ」のURLをコピーする。
そして、Botのページの以下の場所に貼り付ける。
Developers ConsoleのBot一覧から使用しているBotを選択し、一番下の「修正」ボタンを押下する。
すると、「Call Back URL」が編集できるようになるので、そこに先ほどコピーした「ウェブアプリのURL」を貼り付ける。
実行してみよう
ここまでで何も問題がなければ自分が送ったメッセージがそのままBotから返ってくるはずだ!
参考ページ
- Qiita「0から始めるLINE WORKS API」
- Qiita「[GAS x LINE WORKS] GoogleAppsScriptでLINE WORKSのチャットBOTを作る(API2.0 ver)」