Google Apps Script の準備
Googleアカウントであればなんでもいいので、新規でスプレッドシートを作成し、開きます。「ツール」から「スクリプトエディタ」をクリックしてください。
スクリプトに以下を貼り付けます。
//LINE developerで発行した、自分のCHANNEL_ACCESS_TOKENを入れる
var CHANNEL_ACCESS_TOKEN = 'LINE developerで発行した、自分のCHANNEL_ACCESS_TOKENに書き換えてください';
var line_endpoint = 'https://api.line.me/v2/bot/message/reply';
function doPost(e) {
//LINEから送られてくるデータを解析する
var json = JSON.parse(e.postData.contents);
//返信するためのリプライトークン取得
var reply_token= json.events[0].replyToken;
if (typeof reply_token === 'undefined') {
return;
}
//送られたLINEメッセージを取得
var user_message = json.events[0].message.text;
//送られたメッセージをそのままオウム返し
var reply_messages = [user_message];
// メッセージを返信
var messages = reply_messages.map(function (v) {
return {'type': 'text', 'text': v};
});
UrlFetchApp.fetch(line_endpoint, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': reply_token,
'messages': messages,
}),
});
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
上記のプログラムは、先ほどメモした、CHANNEL_ACCESS_TOKENに書き換えてください。スクリプトを保存したら、「デプロイ」→「新しいデプロイ」をクリックします。
次に、デプロイタイプを設定します。
Deployボタンを押すと、承認作業を求められるので進めていきます。
無事にアプリケーションとして公開されたら、URLをコピーしてメモしてください。
LINE BotへWebhookのURLを設定
先ほどまで開いていたLINE Developersを再度開きます。Webhook URLに先ほどメモしたURLを設定します。
「Verify」を押して以下が出れば成功です。こうならなかった場合、設定がおかしい可能性があるので見直してみてください。
ここまで行うと、LINEのBotとのトークで入力されたメッセージをそのまま返却することができます。
