Apps script משהו מכיר? חייב עזרה בזה...
-
הכתובת מייל שלך אני לא רואה,
תעדיף שנשוחח במייל וזהו? -
@nhfk-sbhtk את זה אתה צריך להגדיר בקוד.
תנסה רגע להתקשר.
ותוסיף בקוד (לא בשלוחה) שלך ככה;function doGet(e) { try { const params = e.parameter || {}; Logger.log(`פרמטרים שהתקבלו: ${JSON.stringify(params)}`); } catch (error) { Logger.log(`שגיאה ב-${error}`); return ContentService.createTextOutput(`שגיאה: } } -
@יב מספיק שאני עושה שמירה או שאני צריך להוציא קישור מחדש?
-
@nhfk-sbhtk יותר מדוייק, מה שאתה בעיקר צריך להוסיף זה את השורות האלו
const params = e.parameter || {}; Logger.log(`פרמטרים שהתקבלו: ${JSON.stringify(params)}`);מה שזה עושה - סך הכל אתה תראה לוג בתוך הסקריפט, מה הם הפרמטרים שהתקבלו, ומה הערך שלהם.
כך תדע לפחות אם זה מה שאתה רוצה או לא.doGet(e)הכוונה שמי שמקשר באמצעות גט, וה הברירת מחדל של ימות, כל הפרמטרים נכנסים תחת הe.
כדי לדעת מה יש בe. - אתה מכניס את כולם במשנהparams, ואומר לקוד לכתוב לוג, מה התוכן של params.
תשמור, אתה לא מוכרח לעשות פריסה מחדש, אבל כן צריך לעשות עריכת פריסה. -
@יב כתב בApps script משהו מכיר? חייב עזרה בזה...:
לעשות
אני עושה לו הרצה הוא כותב לי שגיאה על כל הקוד שיש לי שם
-
@nhfk-sbhtk
תעתיק את הקוד של הסקריפט.....
אולי אוכל לעזור -
@יב אני ממש מעריך את העזרה שלך
function doGet(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();var phone = e.parameter.phone || '';
var extension = e.parameter.extension || '';
var enterTime = e.parameter.time || '';
var length = e.parameter.length || '';var now = new Date();
var dateString = Utilities.formatDate(now, "Asia/Jerusalem", "dd/MM/yyyy");sheet.appendRow([dateString, enterTime, phone, extension, length]);
return ContentService.createTextOutput("Success");
} const params = e.parameter || {};
Logger.log(פרמטרים שהתקבלו: ${JSON.stringify(params)}); -
@nhfk-sbhtk בגדול אני רואה שמיקמת את זה מחוץ לסוגריים של הפונקציה.
תנסה כךfunction doGet(e) { try { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var params = e.parameter || {}; var phone = params.phone || ''; var extension = params.extension || ''; var enterTime = params.time || ''; var length = params.length || ''; // תכתוב את זה כאן Logger.log(`פרמטרים שהתקבלו: ${JSON.stringify(params)}`); var now = new Date(); var dateString = Utilities.formatDate(now, "Asia/Jerusalem", "dd/MM/yyyy"); sheet.appendRow([dateString, enterTime, phone, extension, length]); return ContentService.createTextOutput("Success"); } catch (error) { return ContentService.createTextOutput("Error: " + error.toString()); } }חוץ מזה תיקח בחשבון שאין מענה לימות בחזרה
תנסה.
עריכה: תעשה פריסה מחדש. -
@יב או, עכשיו הבדיקה לא הראתה שגיאה
אני צריך להעתיק את הקישור שלו מחדש לימות? -
@nhfk-sbhtk כן.
זה יעבוד רק אם מתקשרים (כי זה doget), זה לא יעשה כלום אם אתה מפעיל מהעורך. -
@יב לקוח שמתקשר הנתונים נקלטים אוטומטי - זה המטרה.
וכתבת לי בקוד תכתוב את זה כאן, למה התכוונת? -
@nhfk-sbhtk כי זה היה מחוץ לפונקציה.
לא משנה - זה עובד?
מה הפרמטרים שאתה מקבל? -
@יב ההרצה עבדה והראה שהוהלם,
עכשיו אתה רוצה שאעתיק שוב את הקישור לימות ואבדוק אם הפרמטרים מתמלאים?
סליחה שאני משגע אותך ככה, זה די חדש לי... -
@nhfk-sbhtk לא אחרי שהתקשרת. תסתכל בעורך של הסקריפט ב
הפעלותאם הקוד עבד, ומה הלוג שכתוב שם. -
-
אין יומנים זמינים הוא כותב
-
@nhfk-sbhtk כשאתה מקיש על
הושלמה.
מה הוא כותב? -
@יב אין יומנים זמינים
-
@nhfk-sbhtk מעניין
תן לי לחשוב כמה דקות. -
@nhfk-sbhtk תנסה רגע לכתוב בשלוחה רק ככה
type=api api_link=כאן הקישור המלא api_hangup_send=noובסקריפט ככה
function doGet(e) { try { Logger.log("--- התחלת ריצה: פונקציית doGet הופעלה ---"); // בדיקה אם התקבלו פרמטרים בכלל if (!e || !e.parameter) { Logger.log("אזהרה: לא התקבלו פרמטרים בבקשה (e.parameter ריק)"); } else { Logger.log("פרמטרים גולמיים שהתקבלו: " + JSON.stringify(e.parameter)); } var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); Logger.log("התחברות לגיליון בוצעה בהצלחה: " + sheet.getName()); // שליפת הפרמטרים var params = e.parameter || {}; var phone = params.ApiPhone || 'חסר'; var extension = params.ApiExtension || 'חסר'; var apiTime = params.ApiTime || null; var length = params.length || '0'; Logger.log("עיבוד נתונים: טלפון=" + phone + ", שלוחה=" + extension + ", זמן_מערכת=" + apiTime); // טיפול בזמן var now = new Date(); if (apiTime) { now = new Date(apiTime * 1000); Logger.log("בוצעה המרת זמן מ-ApiTime: " + now.toString()); } else { Logger.log("לא התקבל ApiTime, משתמש בזמן הנוכחי של השרת"); } var dateString = Utilities.formatDate(now, "Asia/Jerusalem", "dd/MM/yyyy"); var timeString = Utilities.formatDate(now, "Asia/Jerusalem", "HH:mm:ss"); // הכנת השורה לכתיבה var rowData = [dateString, timeString, phone, extension, length]; Logger.log("מנסה לכתוב שורה לגיליון: " + JSON.stringify(rowData)); sheet.appendRow(rowData); Logger.log("השורה נכתבה בהצלחה."); return ContentService.createTextOutput("read=t-Success"); } catch (error) { Logger.log("שגיאה קריטית בתהליך: " + error.toString()); return ContentService.createTextOutput("read=t-Error&error_message=" + encodeURIComponent(error.toString())); } }
