LINE Bot!を作ろ!2--GASで作る。
まずは
LINE Developpers Consoleで新規プロバイダーの登録して、今回はMessaging APIを利用してBotを作ります。
新規チャンネル作成をクリック!
Messaging APIを選びます。
これで、チャンネルが作成できました。
さて設定ですが、基本設定を触って行きます。
そして下にスクロールして
アクセストークンを発行します。これをGASのスクリプトで使います。
Webhook送信は「利用する」にしましょう!ここ大事です。
WebhookURLはあとでGASをウエブアプリに指定した時のURLを入れます。
GAS(Google Apps Script)を作って行きます。
おうむ返しのスクリプトを作ります。そのまま使わせていただきました。
var CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN'; // Channel_access_tokenを登録
function doPost(e) {
var event = JSON.parse(e.postData.contents).events[0];
var replyToken= event.replyToken;
if (typeof replyToken === 'undefined') {
return; // エラー処理
}
var userId = event.source.userId;
var nickname = getUserProfile(userId);
if(event.type == 'follow') {
// ユーザーにbotがフォローされた場合に起きる処理
}
if(event.type == 'message') {
var userMessage = event.message.text;
// 今回は鸚鵡返しなので届いたメッセージをそのまま返します。
var replyMessage = userMessage
// もし届いたユーザーからのメッセージによって他にやりたい処理
// (ex: spread sheetへの記入など)がある場合は、ここに入れて下さい。
var url = 'https://api.line.me/v2/bot/message/reply';
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': [{
'type': 'text',
'text': replyMessage,
}],
}),
});
return ContentService.createTextOutput(
JSON.stringify({'content': 'post ok'})
).setMimeType(ContentService.MimeType.JSON);
}
}
// profileを取得してくる関数
function getUserProfile(userId){
var url = 'https://api.line.me/v2/bot/profile/' + userId;
var userProfile = UrlFetchApp.fetch(url,{
'headers': {
'Authorization' : 'Bearer ' + CHANNEL_ACCESS_TOKEN,
},
})
return JSON.parse(userProfile).displayName;
}
アクセストークンを変数に入れます。
var CHANNEL_ACCESS_TOKEN = '発行したアクセストークンを入れます';
スクリプト処理はこれだけです。
そしてウエブアプリにします。
その時の注意点です。
承認はひとてま必要です。手順に沿って手続きをして許可して行きます。公開ボタンを押せば、こちらも公開となり、LINE Botで利用できるようになります。
WebhookURLに入れるURLは現在のウエブアプリケーションのURLを入れます。
あと、「アプリケーションにアクセスできるユーザー」を「全員(匿名ユーザーも含む」にします。
あとは、チャネル基本設定のBot情報にあるQRコードを使ってLINEの友達登録することで使えるようになります。
言葉を入れると、その言葉を返してくれます。ただそれだけのBotです。
例えば、おはようと送ればおはようと返ってきます。GASを使えばHerokuなどサーバを使うより簡単に出来ますね。
この記事が気に入ったらサポートをしてみませんか?