ขั้นตอนที่ 1: สร้าง Google Sheet
- ไปที่ Google Drive ของคุณและสร้าง Google Sheet ใหม่ (ให้ชื่อว่า "data" หรือชื่อที่คุณต้องการ).
- ตั้งชื่อคอลัมน์ในแผ่นงานแรก (data) เช่น:
Timestamp
- วันที่และเวลาที่ส่งข้อความUsername
- ชื่อผู้ใช้Message
- ข้อความที่ส่ง
ขั้นตอนที่ 2: สร้าง Google Apps Script
- เปิด Google Sheet ที่คุณสร้างขึ้น.
- คลิกที่
Extensions
>Apps Script
. - ในหน้า Google Apps Script ให้คุณเขียนโค้ดที่จำเป็นสำหรับการจัดการข้อมูลการแชต.
ขั้นตอนที่ 3: เขียนโค้ด Google Apps Script
Code.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile('index')
.setTitle('Simple Chat App')
.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
function getMessages() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('data');
var data = sheet.getDataRange().getValues();
var messages = [];
for (var i = 1; i < data.length; i++) {
var row = data[i];
messages.push({
timestamp: row[0],
username: row[1],
message: row[2]
});
}
return JSON.stringify(messages);
}
function postMessage(username, message) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('data');
var timestamp = new Date();
sheet.appendRow([timestamp, username, message]);
}
index.html
<!DOCTYPE html>
<html>
<head>
<title>Chat Room</title>
<style>
body {
font-family: Arial, sans-serif;
background-color: #f4f4f9;
padding: 20px;
}
.chat-box {
max-width: 600px;
margin: 0 auto;
padding:15px;
background-color: white;
}
#message-form {
display: flex;
padding: 20px;
}
#messageInput {
width: calc(100% - 22px);
}
input {
flex-grow: 1;
padding: 10px;
margin-right: 10px;
border: 1px solid #ddd;
border-radius: 4px;
}
.message {
margin-bottom: 10px;
}
.message span {
font-weight: bold;
}
button {
padding: 10px 20px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #45a049;
}
</style>
</head>
<body>
<div class="chat-box">
<div class="chat-box" id="chatBox"></div>
<form id="message-form">
<input type="text" id="username" placeholder="Your Name" required>
<input type="text" id="messageInput" placeholder="Type a message..." required>
<button onclick="sendMessage()">Send</button>
</form>
</div>
<script>
function fetchMessages() {
google.script.run.withSuccessHandler(displayMessages).getMessages();
}
function displayMessages(data) {
var messages = JSON.parse(data);
var chatBox = document.getElementById('chatBox');
chatBox.innerHTML = '';
messages.forEach(function(msg) {
var messageDiv = document.createElement('div');
messageDiv.className = 'message';
messageDiv.innerHTML = `<span>${msg.username}:</span> ${msg.message} <small>(${new Date(msg.timestamp).toLocaleString()})</small>`;
chatBox.appendChild(messageDiv);
});
}
function sendMessage() {
var username = document.getElementById('username').value;
var message = document.getElementById('messageInput').value;
if (username && message) {
google.script.run.postMessage(username, message);
document.getElementById('messageInput').value = '';
fetchMessages();
} else {
alert('Please enter both a name and a message.');
}
}
// โหลดข้อความเมื่อหน้าเว็บโหลดเสร็จ
document.addEventListener('DOMContentLoaded', fetchMessages);
// โหลดข้อความใหม่ทุก 5 วินาที
setInterval(fetchMessages, 5000);
</script>
</body>
</html>
ขอให้สนุกกับการสร้างเว็บแอพห้องแชตของคุณ!
OK ครับ
ตอบลบ