นี่คือโค้ดที่สามารถนำไปใช้ได้เลยครับ ให้คัดลอกโค้ดด้านล่างไปใส่ไว้ใน Google Apps Script หลังจากนั้น เพียงแค่สร้าง Line Oa มา 1 ตัว และให้นำ Access Token ของ Line Oa มาใส่ในบรรทัดที่ 2 และให้ทำการ Depoy โค้ด และนำ Web Url ที่ได้จากการ Depoy ไปใส่ใน Webhook ที่ Line Developer กดเปิด Use Webhook ก็สามารถเชื่อมต่อระหว่าง Line OA กับ Google Sheet ได้แล้วครับ
// ข้อมูลจาก LINE Developer Console
var CHANNEL_ACCESS_TOKEN = 'YOUR_CHANNEL_ACCESS_TOKEN';
function doPost(e) {
// ตรวจสอบความถูกต้องของ Webhook
if (CHANNEL_SECRET !== e.parameter.channelSecret) {
throw new Error('Invalid Channel Secret');
}
// ดึงข้อมูลจาก Webhook
var events = JSON.parse(e.postData.contents).events;
// วนลูปตรวจสอบทุก event
for (var i = 0; i < events.length; i++) {
var event = events[i];
// ตรวจสอบ event type
if (event.type === 'message' && event.message.type === 'text') {
// ดึงข้อมูลจาก LINE
var replyToken = event.replyToken;
var userId = event.source.userId;
var messageText = event.message.text;
// ส่งข้อความกลับไปยัง LINE
replyToLine(replyToken, 'You said: ' + messageText);
}
}
}
// ฟังก์ชันสำหรับส่งข้อความกลับไปยัง LINE
function replyToLine(replyToken, message) {
var url = 'https://api.line.me/v2/bot/message/reply';
var headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + CHANNEL_ACCESS_TOKEN,
};
var data = {
'replyToken': replyToken,
'messages': [
{
'type': 'text',
'text': message,
},
],
};
var options = {
'method': 'post',
'headers': headers,
'payload': JSON.stringify(data),
};
UrlFetchApp.fetch(url, options);
}