見出し画像

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などサーバを使うより簡単に出来ますね。


この記事が気に入ったらサポートをしてみませんか?