Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
function doPost(e) {
// LINE developersのメッセージ送受信設定に記載のアクセストークン
var ACCESS_TOKEN = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
// 応答メッセージ用のAPI URL
var url = 'https://api.line.me/v2/bot/message/reply';
//SpreadSheetの取得
var SSheet = SpreadsheetApp.openById("XXXXXXXXXXXXXXXXXXXXXXXXXXXXX"); //SpreadsheetのURL
var sheet = SS.getSheetByName("XXXXXXXXXXXXXXXXXXXXXXXXXX"); //Spreadsheetのシート名(タブ名)
var lastrow = sheet.getLastRow()+1;
//var lastcol = sheet.getLastColumn();
//var sheetdata = sheet.getSheetValues(1, 1, lastrow, lastcol);
// WebHookで受信した応答用Token
var replyToken = JSON.parse(e.postData.contents).events[0].replyToken;
// ユーザーのIDを取得
var user_id = JSON.parse(e.postData.contents).events[0].source.userId;
// ユーザー名を取得
var user_disp_name = JSON.parse(e.postData.contents).events[0].displayName;
// ユーザーのメッセージを取得
var user_message = JSON.parse(e.postData.contents).events[0].message.text;
//現在時刻を取得
var date = new Date();
//返信する内容を作成
var reply_messages;
// メッセージを返信
var messages = reply_messages.map(function (v) {
return {'type': 'text', 'text': v};
});
UrlFetchApp.fetch(url, {
'headers': {
'Content-Type': 'application/json; charset=UTF-8',
'Authorization': 'Bearer ' + ACCESS_TOKEN,
},
'method': 'post',
'payload': JSON.stringify({
'replyToken': replyToken,
'messages': [{
'type': 'text',
'text': user_message + '!!!オウムガエシ!!!',
}],
'messages': messages,
'user_id': user_id,
'text': user_disp_name,
}),
});
sheet.getRange(lastrow, 1).setValue(date); //セルに書き込みする
sheet.getRange(lastrow, 2).setValue(user_id); //セルに書き込みする
sheet.getRange(lastrow, 3).setValue(user_disp_name); //セルに書き込みする
sheet.getRange(lastrow, 4).setValue(user_message);//セルに書き込みする
// リターンの前に記述しないとダメ
return ContentService.createTextOutput(JSON.stringify({'content': 'post ok'})).setMimeType(ContentService.MimeType.JSON);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment