ืืขืื | ๐ช apps script, ืื ืื ื ืืคืกืคืกโ๏ธ
-
@ืฆืืืง-0 ืื ืฉืืช ืื ืืืืช ื ืฉืืฉ ืืื ืืืื ืฉืืืืจืช ืฉืขื ai studio ืืื ื ืืืชืจ ืืื ืื ืืคืฉืจ ืืืืืง ืืืงื ืื...
@ืืืฉ-ืืืช ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืฆืืืง-0 ืื ืฉืืช ืื ืืืืช ื ืฉืืฉ ืืื ืืืื ืฉืืืืจืช ืฉืขื ai studio ืืื ื ืืืชืจ ืืื ืื ืืคืฉืจ ืืืืืง ืืืงื ืื...
1:0
-
ืฉืืื ืืืจืื ืื ื ืื ืกื ืืืจ ืชืงืืคื ืืจืืื ืืืฆืืจ ืกืงืจืืคืืื ื apps script ืขื ืืื gpt, ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื, ืืื ืชืืื ืืกืงืจืืคื ืื ืขืืื, ืืืคืืข ืื "ืฉืืืื ืืฉืืืืช ืืืงืฉื,"
ืืืืจ ืฉืขืืช ืืื ืคืขื ืืืืฉ, ืฉืื ื ืืฉื ื ืืืจืื ืคืืจืก 10 ืคืขืืื, ืืืืง, ืืฉืืืจ, ืคืืชื, ืืกืืืจ, ืืื' ืืื' ืืื' ืืกืืฃ ืืกืงืจืืคื ืืกืืื ืืขืืื,ืฉืืืชื ืืืคื ืืช ืืืืื ืจืืืชืื ืืืืืืื, ืืื ืืฉ ืืฉืื ืฉืื ื ืืคืกืคืก? ืืื ืืฉ ืืืง ืืกืืืื ืฉืฆืจืื ืืฉืื ืื ืืืื ืืฆืืจื ืืืืืืช? ืืฉืื ืชืฉืืืจื ืืช ืขืื ื, ืืื ืฆืจืื ืืคืจื ืืืชืจ ืื ืืงืื ืื ืืกืงืจืืคื ืืื' ืคืฉืื ืชืืืื...
ืชืืื ืจืื ืืจืืฉ .@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ? -
@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ?@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ?ื ืืคืจื ืื ืืืคืฉืจืื ืืฉืืืจ ืจืง ืกืงืจืืคื ืฉืคืื ื ืืืชืืืืช URL ืืืฆืื ืืืช. ืืื ืื ืืฉืคืจื ืข"ื ืืงืฉื ืืืขืจืืช ืืคื ืืืช
-
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ื ืืคืจื?
ืืื ื ืืชื ืื ืืฉืืืจ?ื ืืคืจื ืื ืืืคืฉืจืื ืืฉืืืจ ืจืง ืกืงืจืืคื ืฉืคืื ื ืืืชืืืืช URL ืืืฆืื ืืืช. ืืื ืื ืืฉืคืจื ืข"ื ืืงืฉื ืืืขืจืืช ืืคื ืืืช
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
-
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
@ืจืคื-ืกืื ืืื ืืชื ืฉืืกืืฃ ืื ืื ืขืืื ืื ืฉืื ืืกืชืืจ ืฉืื ื ืืคืจื
-
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข (ืืื ืื ืฉืืื ืขืืฉื....)
ืืื ืืคืขืืื ื ืืคืจื ืืืกื ืืืคืคืก ืกืงืจืืคื ืกืชื
ืืืคื ืืชื ืจืืื ืฉืื ืื ืฉืืื ืขืืฉื?
-
ืฉืืื ืืืจืื ืื ื ืื ืกื ืืืจ ืชืงืืคื ืืจืืื ืืืฆืืจ ืกืงืจืืคืืื ื apps script ืขื ืืื gpt, ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื, ืืื ืชืืื ืืกืงืจืืคื ืื ืขืืื, ืืืคืืข ืื "ืฉืืืื ืืฉืืืืช ืืืงืฉื,"
ืืืืจ ืฉืขืืช ืืื ืคืขื ืืืืฉ, ืฉืื ื ืืฉื ื ืืืจืื ืคืืจืก 10 ืคืขืืื, ืืืืง, ืืฉืืืจ, ืคืืชื, ืืกืืืจ, ืืื' ืืื' ืืื' ืืกืืฃ ืืกืงืจืืคื ืืกืืื ืืขืืื,ืฉืืืชื ืืืคื ืืช ืืืืื ืจืืืชืื ืืืืืืื, ืืื ืืฉ ืืฉืื ืฉืื ื ืืคืกืคืก? ืืื ืืฉ ืืืง ืืกืืืื ืฉืฆืจืื ืืฉืื ืื ืืืื ืืฆืืจื ืืืืืืช? ืืฉืื ืชืฉืืืจื ืืช ืขืื ื, ืืื ืฆืจืื ืืคืจื ืืืชืจ ืื ืืงืื ืื ืืกืงืจืืคื ืืื' ืคืฉืื ืชืืืื...
ืชืืื ืจืื ืืจืืฉ .@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
-
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
ื ืืคืจื ืืืกืืื ืกืงืจืืคื ืฉืคืื ื ืืืฃ ืืื ืืจื ื, ืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื.
-
@ืจืคื-ืกืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
ืืืจื ืืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื
ืื ื
ื ืืคืจื ืืืกืืื ืกืงืจืืคื ืฉืคืื ื ืืืฃ ืืื ืืจื ื, ืื ืืฃ ืืื ืืจื ื ืฉืคืื ื ืืกืงืจืืคื.
@ืข-ื-ืืื-ืข ืื ืืื ื ืฉืืข ืื....
-
@ืข-ื-ืืื-ืข ืื ืืื ื ืฉืืข ืื....
@ืจืคื-ืกืื
ืื ืืื ืขืืฉืื ืื ื ื ืื ืก ืืคื, ืืืืจ ืืจืื ืืื ืืื ื ืจืืื ืฉืื ืืฉื ื ืืื ืืืฉ ืืืจืืื....
ื. ืืืคื ืื ื ืืืื ืืืืืง ืืช ืืืืื ืืงืฉืืช ื apps script ืืืืืืง ืืื ืืืงืฉืืช ืืืื ืืชืงืืื?
ื. ืชืืื ืจืื ืืื ืืขืืืจืื ืืืืกืืืขืื.ื. ืื ื ืื ืื ืืคืจื.
ืื ืื ื ืืืฅ ืื ื ืืฉืชืฃ ืืช ืืกืงืจืืคื, (ืืืชืืื ืื ืฉืืืชื ืื ืืฉืืชื ืฉืื ืืืื ืืืืฉืื ืื ืืขืืืจ ืขื ืื, ืืื ืื ื ืจืืื ืฉืื ืฉืื ืคื ืืืื ืืืื ืืืืืื ืืขืืืจ,
)
-
@ืจืคื-ืกืื
ืื ืืื ืขืืฉืื ืื ื ื ืื ืก ืืคื, ืืืืจ ืืจืื ืืื ืืื ื ืจืืื ืฉืื ืืฉื ื ืืื ืืืฉ ืืืจืืื....
ื. ืืืคื ืื ื ืืืื ืืืืืง ืืช ืืืืื ืืงืฉืืช ื apps script ืืืืืืง ืืื ืืืงืฉืืช ืืืื ืืชืงืืื?
ื. ืชืืื ืจืื ืืื ืืขืืืจืื ืืืืกืืืขืื.ื. ืื ื ืื ืื ืืคืจื.
ืื ืื ื ืืืฅ ืื ื ืืฉืชืฃ ืืช ืืกืงืจืืคื, (ืืืชืืื ืื ืฉืืืชื ืื ืืฉืืชื ืฉืื ืืืื ืืืืฉืื ืื ืืขืืืจ ืขื ืื, ืืื ืื ื ืจืืื ืฉืื ืฉืื ืคื ืืืื ืืืื ืืืืืื ืืขืืืจ,
)
@ืืชืขื ืืื-ืืืื
ืืช ืืืื ืืคืฉืจ ืืจืืืช ืืืจืืืกืืืช ืืคืขืืืช. ืืืงื ืงืฆืช ืืื ืขื ืฉืืื ื ืจืฉื ืฉื. -
@ืืชืขื ืืื-ืืืื
ืืช ืืืื ืืคืฉืจ ืืจืืืช ืืืจืืืกืืืช ืืคืขืืืช. ืืืงื ืงืฆืช ืืื ืขื ืฉืืื ื ืจืฉื ืฉื.@ืข-ื-ืืื-ืข
ืชืืื, ืืืืง.... -
ืืกืงืจืืคื ืืกืคืืืืืจ
const SHEET_ID = "id ืฉื ืืืืืื ืฉืืืก"; // ืขืืื function doPost(e) { try { const data = JSON.parse(e.postData.contents || "{}"); const answer = (data.answer || "").toString().trim(); const token = (data.token || "").toString().trim(); const name = (data.name || "").toString().trim(); const email = (data.email || "").toString().trim(); if (!answer || !token) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"missing answer or token"})).setMimeType(ContentService.MimeType.JSON); } const ss = SpreadsheetApp.openById(SHEET_ID); // ืืืื ืฉืืฉ ืืืืื ืืืืงื ืื ืืฉื ืืืืืื ื ืงืจื "Tokens" let tokensSheet = ss.getSheetByName("Tokens"); if (!tokensSheet) { // ืฆืืจ ืืืืื Tokens ืขื ืืืชืจืช ืื ืื ืงืืื tokensSheet = ss.insertSheet("Tokens"); tokensSheet.appendRow(["Token","Name","Email","Used"]); } // Responses sheet let respSheet = ss.getSheetByName("Responses"); if (!respSheet) { respSheet = ss.insertSheet("Responses"); respSheet.appendRow(["Timestamp","Token","Name","Email","Answer"]); } // ืงืจื ืืช ืื ืืืืงื ืื (ืืกืคืืง ืืืืืืื ืืช ืงืื ืื/ืืื ืื ืืื) const tokenData = tokensSheet.getDataRange().getValues(); // ืืืื ืืืชืจืช let foundRow = -1; for (let i = 1; i < tokenData.length; i++) { if (tokenData[i][0].toString().trim() === token) { foundRow = i + 1; // ืืกืคืจ ืฉืืจืช ืืืืืืื (1-indexed) break; } } if (foundRow === -1) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"invalid token"})).setMimeType(ContentService.MimeType.JSON); } const usedVal = tokensSheet.getRange(foundRow, 4).getValue(); // ืขืืืื D = Used if (usedVal && usedVal.toString().toLowerCase() === "used") { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"token already used"})).setMimeType(ContentService.MimeType.JSON); } // ืืืคืฆืืื ืื: ืืืืง ืืชืืื ืฉื ืฉื/ืืืืืื (ืื ืืจืฆืื ื ืืืืฅ ืืชืืื) // const registeredName = tokensSheet.getRange(foundRow, 2).getValue().toString().trim(); // if (registeredName && name && registeredName !== name) { ... } // ืกืื ืืช ืืืืงื ืึพUsed ืืชืขื ืืื ืืฉื/ืืืื ืื ืชืจืฆื tokensSheet.getRange(foundRow, 4).setValue("used"); // ืจืฉืื ืืช ืืืฆืืขื ืึพResponses respSheet.appendRow([new Date(), token, name, email, answer]); return ContentService.createTextOutput(JSON.stringify({status:"ok"})).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } } function doGet(e) { try { const mode = (e.parameter.mode || "").toString(); const ss = SpreadsheetApp.openById(SHEET_ID); const sheet = ss.getSheetByName("Responses"); if (!sheet) return ContentService.createTextOutput(JSON.stringify({})).setMimeType(ContentService.MimeType.JSON); const data = sheet.getDataRange().getValues(); const counts = {}; let total = 0; for (let i = 1; i < data.length; i++) { const ans = data[i][4]; // Answer column (E) if (!ans) continue; counts[ans] = (counts[ans] || 0) + 1; total++; } const percentages = {}; for (const k in counts) { percentages[k] = Math.round((counts[k] / total) * 100); } return ContentService.createTextOutput(JSON.stringify(percentages)).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } }
ื .ื. ืื ืืื ืืชืื ืจืืื...
-
ืืกืงืจืืคื ืืกืคืืืืืจ
const SHEET_ID = "id ืฉื ืืืืืื ืฉืืืก"; // ืขืืื function doPost(e) { try { const data = JSON.parse(e.postData.contents || "{}"); const answer = (data.answer || "").toString().trim(); const token = (data.token || "").toString().trim(); const name = (data.name || "").toString().trim(); const email = (data.email || "").toString().trim(); if (!answer || !token) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"missing answer or token"})).setMimeType(ContentService.MimeType.JSON); } const ss = SpreadsheetApp.openById(SHEET_ID); // ืืืื ืฉืืฉ ืืืืื ืืืืงื ืื ืืฉื ืืืืืื ื ืงืจื "Tokens" let tokensSheet = ss.getSheetByName("Tokens"); if (!tokensSheet) { // ืฆืืจ ืืืืื Tokens ืขื ืืืชืจืช ืื ืื ืงืืื tokensSheet = ss.insertSheet("Tokens"); tokensSheet.appendRow(["Token","Name","Email","Used"]); } // Responses sheet let respSheet = ss.getSheetByName("Responses"); if (!respSheet) { respSheet = ss.insertSheet("Responses"); respSheet.appendRow(["Timestamp","Token","Name","Email","Answer"]); } // ืงืจื ืืช ืื ืืืืงื ืื (ืืกืคืืง ืืืืืืื ืืช ืงืื ืื/ืืื ืื ืืื) const tokenData = tokensSheet.getDataRange().getValues(); // ืืืื ืืืชืจืช let foundRow = -1; for (let i = 1; i < tokenData.length; i++) { if (tokenData[i][0].toString().trim() === token) { foundRow = i + 1; // ืืกืคืจ ืฉืืจืช ืืืืืืื (1-indexed) break; } } if (foundRow === -1) { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"invalid token"})).setMimeType(ContentService.MimeType.JSON); } const usedVal = tokensSheet.getRange(foundRow, 4).getValue(); // ืขืืืื D = Used if (usedVal && usedVal.toString().toLowerCase() === "used") { return ContentService.createTextOutput(JSON.stringify({status:"error", message:"token already used"})).setMimeType(ContentService.MimeType.JSON); } // ืืืคืฆืืื ืื: ืืืืง ืืชืืื ืฉื ืฉื/ืืืืืื (ืื ืืจืฆืื ื ืืืืฅ ืืชืืื) // const registeredName = tokensSheet.getRange(foundRow, 2).getValue().toString().trim(); // if (registeredName && name && registeredName !== name) { ... } // ืกืื ืืช ืืืืงื ืึพUsed ืืชืขื ืืื ืืฉื/ืืืื ืื ืชืจืฆื tokensSheet.getRange(foundRow, 4).setValue("used"); // ืจืฉืื ืืช ืืืฆืืขื ืึพResponses respSheet.appendRow([new Date(), token, name, email, answer]); return ContentService.createTextOutput(JSON.stringify({status:"ok"})).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } } function doGet(e) { try { const mode = (e.parameter.mode || "").toString(); const ss = SpreadsheetApp.openById(SHEET_ID); const sheet = ss.getSheetByName("Responses"); if (!sheet) return ContentService.createTextOutput(JSON.stringify({})).setMimeType(ContentService.MimeType.JSON); const data = sheet.getDataRange().getValues(); const counts = {}; let total = 0; for (let i = 1; i < data.length; i++) { const ans = data[i][4]; // Answer column (E) if (!ans) continue; counts[ans] = (counts[ans] || 0) + 1; total++; } const percentages = {}; for (const k in counts) { percentages[k] = Math.round((counts[k] / total) * 100); } return ContentService.createTextOutput(JSON.stringify(percentages)).setMimeType(ContentService.MimeType.JSON); } catch (err) { return ContentService.createTextOutput(JSON.stringify({status:"error", message: err.message})).setMimeType(ContentService.MimeType.JSON); } }
ื .ื. ืื ืืื ืืชืื ืจืืื...
@ืืชืขื ืืื-ืืืื ื ื, ืืกืงืจืืคื ืืื ืืฆืืจืชื ืื ืขืืื ืื ืืื?
ืืืืื ืืืจื ืฉืืชื ืืื ืืก ID ืืืืชื ืฉื ืืืืืื
-
@ืืชืขื ืืื-ืืืื ื ื, ืืกืงืจืืคื ืืื ืืฆืืจืชื ืื ืขืืื ืื ืืื?
ืืืืื ืืืจื ืฉืืชื ืืื ืืก ID ืืืืชื ืฉื ืืืืืื
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื? -
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
-
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ื. ืื ื ืื ืื ืืคืจื
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื -
@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ื. ืื ื ืื ืื ืืคืจื
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ืื ืืื ืืชื ืืืืข ืฉืืื ืื ืขืืื?
ื. ืื ื ืื ืื ืืคืจื
ืื ื ืื, ืืืื ืื ื ืื ืืืื ืืืืืง ืื.
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื
ืืื ืืืกืคืช ืื ืืช ืืคืจืืืจืื ืื ืืจืฉืื?
-
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ืขืืื... ืืฉืืื ืืช ืืืฃ ืฉืฉืืื ืืืื?ืืื ืืื ืขืืืื ืืืื ืกืืืจ ืื ืืคืจื.
ืืื ืืืื ืชืืชืื ืืืชื ืืื ืฉื ืืื ืืจืืืช ืื ืืคืจืืืจืื ืURL ื ืืื ืื ืืืชืืืืื
ื. ืขืืืื ืื ืืขืืืชื ืืช ืืืฃ,
ืื ืืื ืืชื ืืืืข ืฉืืื ืื ืขืืื?
ื. ืื ื ืื ืื ืืคืจื
ืื ื ืื, ืืืื ืื ื ืื ืืืื ืืืืืง ืื.
ื. ืืื ืกืชื ืืช ื URL ืฉืืืคืืข ืืืืจ ืืคืจืืกื
ืืื ืืืกืคืช ืื ืืช ืืคืจืืืจืื ืื ืืจืฉืื?
@ืข-ื-ืืื-ืข
ืื ื ืคืืชื ืืช ืื ืืืคืืคื (ืื ื ืขืืจื ื "ืขืืจื ืืงืกื ") .
ื. ืกืืืื ืขื ืืืืจืืช ืืื ืืื ืืชื ืืชืืืื "ืืคืจืืืจืื ืื ืืจืฉืื"? -
@ืข-ื-ืืื-ืข
ืื ื ืคืืชื ืืช ืื ืืืคืืคื (ืื ื ืขืืจื ื "ืขืืจื ืืงืกื ") .
ื. ืกืืืื ืขื ืืืืจืืช ืืื ืืื ืืชื ืืชืืืื "ืืคืจืืืจืื ืื ืืจืฉืื"?@ืืชืขื ืืื-ืืืื ืืชื ืืืขืื |
apps script, ืื ืื ื ืืคืกืคืก
๏ธ:
@ืข-ื-ืืื-ืข
ืื ื ืคืืชื ืืช ืื ืืืคืืคื (ืื ื ืขืืจื ื "ืขืืจื ืืงืกื ") .
ื. ืกืืืื ืขื ืืืืจืืช ืืื ืืื ืืชื ืืชืืืื "ืืคืจืืืจืื ืื ืืจืฉืื"?ืืื ืืชื ืื ืกื ืืืคืขืื ืืช ืื?