בקשת מידע | שגיאה בגוגל סקריפט - ארגומנט מידי ארוך?
-
אני באמצע לכתוב סקריפט שיגדיר מערכת בימות המשיח, אבל משום מה בסטרינגים באורכים גדולים אני מקבל שגיאה
להלן הסקריפט:let newline = "%0A" let ymt_Ext_0 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/0/ext.ini&contents=type=playfile${newline}title=הודעות${newline}go_to_from_tzintuk=yes${newline}check_list_tzintuk=1${newline}go_to_from_tzintuk_found=in_extension${newline}go_to_from_tzintuk_not_found=/3${newline}say_details_message_first=yes${newline}say_details_message=name${newline}say_details_message_skip_menu=yes`)); ///let ymt_Ext_1 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/1/ext.ini&contents=type=record${newline}title=הקלטה${newline}record_ok=#${newline}say_record_number=no${newline}say_record_menu=no${newline}record_end_goto=/2${newline}control_play*=noop${newline}control_play#=noop${newline}control_play1=noop${newline}control_play2=noop${newline}control_play3=noop${newline}control_play4=noop${newline}control_play5=noop${newline}control_play6=noop${newline}control_play7=noop${newline}control_play8=noop${newline}control_play9=noop${newline}control_play0=noop${newline}enter_id=yes${newline}enter_id_type=phone${newline}login_add_val_name=yes${newline}record_name=no${newline}hangup_insert_file=yes${newline}folder_move=/0${newline}record_end_run_tzintuk=yes${newline}hangup_send_tzintuk=yes${newline}list_tzintuk=1`)); let ymt_Ext_2 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/2/ext.ini&contents=title=ניתוק${newline}type=hangup`)); let ymt_Ext_3 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/3/ext.ini&contents=type=tzintuk${newline}title=הרשמה לצינתוקים${newline}list_tzintuk=1${newline}tzintuk_end=/0`)); ///let ymt_enterid = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/1/EnterIDValName.ini&contents=${getContacts()}`)); let ymt_tts = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/1/M1012.tts&contents=השיחה מועברת לתא הקולי. הגעתם לתא הקולי של טלפון מספר ${num}. נא להשאיר הודעה אחרי הישמע הצליל`)); let ymt_Create_Template = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}CreateTemplate?token=${token}&description=מספרים מורשים לכניסה`)); let add_num_to_Template = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UpdateTemplateEntry?token=${token}&templateId=${ymt_Create_Template.templateId}&phone=0${get_users_num_from_Spreadsheet}&name=מספר בעל המערכת`)); let menu = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/ext.ini&contents=type=go_to_folder${newline}go_to_folder=/0${newline}check_template_filter=1${newline}check_template_filter_active_go_to=/0${newline}check_template_filter_blocked_enter=yes${newline}check_template_filter_none_enter=yes${newline}check_template_filter_error_enter=yes`)); let template_num = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}GetTemplates?token=${token}`)) ///צריך עדיין להוסיף מזהה מספר רשימת התפוצה לצורך ההפנייה מהשלוחה הראשית, לתקן את הבעיה שבשלוחת הקלטות, למצוא דרך להחליף את ההודעת מערכת בשלוחת ההקלטות ///צריך לשאוב נתונים מהאקסל כדי להוסיף לקובץ EnterIDValName ///צריך לעשות בדיקה של האזנה לקובץ האחרון ולפי זה בהפרש של זמן מסויים לשלוח צינתוק נוסף או לשלוח מייל function RunTzintuk(){ const url = `${url_yemot_api}RunTzintuk?token=${token}&callerId=${num}&TzintukTimeOut=16&phones=tzl:1` const res = UrlFetchApp.fetch(url) }function getContacts() { const range = SpreadsheetApp.getActiveSheet().getRange('contacts!A2:B'); const values = range.getValues(); let contactsString = ""; for (const value of values) { const name = value[0].toString(); let phone = value[1].toString(); if (name === "" || phone === "") { continue; } if (!phone.startsWith("0")) { phone = "0" + phone; } const contact = `${name}=${phone.replace(/-/g, "")}${newline}`; console.log(contact) contactsString += contact; } return contactsString; }אני מקבל את השגיאה בlet ymt_enterid [הוא עובר על הגוגל שיטס ושואב משם אנשי קשר, מדובר ברשימה ארוכה]
וכן בlet ymt_Ext_1
השגיאה נראית כך:Exception: Invalid argument: https://www.call2all.co.il/ym/api/UploadTextFile?token=000000&what=ivr2:/1/ext.ini&contents=type=record%0Atitle=הקלטה%0Arecord_ok=#%0Asay_record_number=no%0Asay_record_menu=no%0Arecord_end_goto=/2%0Acontrol_play*=noop%0Acontrol_play#=noop%0Acontrol_play1=noop%0Acontrol_play2=noop%0Acontrol_play3=noop%0Acontrol_play4=noop%0Acontrol_play5=noop%0Acontrol_play6=noop%0Acontrol_play7=noop%0Acontrol_play8=noop%0Acontrol_play9=noop%0Acontrol_play0=noop%0Aenter_id=yes%0Aenter_id_type=phone%0Alogin_add_val_name=yes%0Arecord_name=no%0Ahangup_insert_file=yes%0Afolder_move=/0%0Arecord_end_run_tzintuk=yes%0Ahangup_send_tzintuk=yes%0Alist_tzintuk=1@אביי @מנצפכ
[שיניתי את הטוקן]
הגדרת שאר השלוחות עובדת מצויין, מה יכולה להיות הבעיה ואיך ניתן לפתור אותה?
בתודה מראש
[הקוד מיועד לבניית מערכת תא קולי עם הקראת שם משאיר ההודעה + שליחת צינתוק חוזר באם לא האזינו להודעה תוך זמן מסויים + אופציה לשליחת מייל, יפורסם כאן בפורום בלנ"ד כשיושלם]
עריכה: הסתדרתי, השתמשתי בpost -
אני באמצע לכתוב סקריפט שיגדיר מערכת בימות המשיח, אבל משום מה בסטרינגים באורכים גדולים אני מקבל שגיאה
להלן הסקריפט:let newline = "%0A" let ymt_Ext_0 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/0/ext.ini&contents=type=playfile${newline}title=הודעות${newline}go_to_from_tzintuk=yes${newline}check_list_tzintuk=1${newline}go_to_from_tzintuk_found=in_extension${newline}go_to_from_tzintuk_not_found=/3${newline}say_details_message_first=yes${newline}say_details_message=name${newline}say_details_message_skip_menu=yes`)); ///let ymt_Ext_1 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/1/ext.ini&contents=type=record${newline}title=הקלטה${newline}record_ok=#${newline}say_record_number=no${newline}say_record_menu=no${newline}record_end_goto=/2${newline}control_play*=noop${newline}control_play#=noop${newline}control_play1=noop${newline}control_play2=noop${newline}control_play3=noop${newline}control_play4=noop${newline}control_play5=noop${newline}control_play6=noop${newline}control_play7=noop${newline}control_play8=noop${newline}control_play9=noop${newline}control_play0=noop${newline}enter_id=yes${newline}enter_id_type=phone${newline}login_add_val_name=yes${newline}record_name=no${newline}hangup_insert_file=yes${newline}folder_move=/0${newline}record_end_run_tzintuk=yes${newline}hangup_send_tzintuk=yes${newline}list_tzintuk=1`)); let ymt_Ext_2 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/2/ext.ini&contents=title=ניתוק${newline}type=hangup`)); let ymt_Ext_3 = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/3/ext.ini&contents=type=tzintuk${newline}title=הרשמה לצינתוקים${newline}list_tzintuk=1${newline}tzintuk_end=/0`)); ///let ymt_enterid = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/1/EnterIDValName.ini&contents=${getContacts()}`)); let ymt_tts = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/1/M1012.tts&contents=השיחה מועברת לתא הקולי. הגעתם לתא הקולי של טלפון מספר ${num}. נא להשאיר הודעה אחרי הישמע הצליל`)); let ymt_Create_Template = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}CreateTemplate?token=${token}&description=מספרים מורשים לכניסה`)); let add_num_to_Template = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UpdateTemplateEntry?token=${token}&templateId=${ymt_Create_Template.templateId}&phone=0${get_users_num_from_Spreadsheet}&name=מספר בעל המערכת`)); let menu = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}UploadTextFile?token=${token}&what=ivr2:/ext.ini&contents=type=go_to_folder${newline}go_to_folder=/0${newline}check_template_filter=1${newline}check_template_filter_active_go_to=/0${newline}check_template_filter_blocked_enter=yes${newline}check_template_filter_none_enter=yes${newline}check_template_filter_error_enter=yes`)); let template_num = JSON.parse(UrlFetchApp.fetch(`${url_yemot_api}GetTemplates?token=${token}`)) ///צריך עדיין להוסיף מזהה מספר רשימת התפוצה לצורך ההפנייה מהשלוחה הראשית, לתקן את הבעיה שבשלוחת הקלטות, למצוא דרך להחליף את ההודעת מערכת בשלוחת ההקלטות ///צריך לשאוב נתונים מהאקסל כדי להוסיף לקובץ EnterIDValName ///צריך לעשות בדיקה של האזנה לקובץ האחרון ולפי זה בהפרש של זמן מסויים לשלוח צינתוק נוסף או לשלוח מייל function RunTzintuk(){ const url = `${url_yemot_api}RunTzintuk?token=${token}&callerId=${num}&TzintukTimeOut=16&phones=tzl:1` const res = UrlFetchApp.fetch(url) }function getContacts() { const range = SpreadsheetApp.getActiveSheet().getRange('contacts!A2:B'); const values = range.getValues(); let contactsString = ""; for (const value of values) { const name = value[0].toString(); let phone = value[1].toString(); if (name === "" || phone === "") { continue; } if (!phone.startsWith("0")) { phone = "0" + phone; } const contact = `${name}=${phone.replace(/-/g, "")}${newline}`; console.log(contact) contactsString += contact; } return contactsString; }אני מקבל את השגיאה בlet ymt_enterid [הוא עובר על הגוגל שיטס ושואב משם אנשי קשר, מדובר ברשימה ארוכה]
וכן בlet ymt_Ext_1
השגיאה נראית כך:Exception: Invalid argument: https://www.call2all.co.il/ym/api/UploadTextFile?token=000000&what=ivr2:/1/ext.ini&contents=type=record%0Atitle=הקלטה%0Arecord_ok=#%0Asay_record_number=no%0Asay_record_menu=no%0Arecord_end_goto=/2%0Acontrol_play*=noop%0Acontrol_play#=noop%0Acontrol_play1=noop%0Acontrol_play2=noop%0Acontrol_play3=noop%0Acontrol_play4=noop%0Acontrol_play5=noop%0Acontrol_play6=noop%0Acontrol_play7=noop%0Acontrol_play8=noop%0Acontrol_play9=noop%0Acontrol_play0=noop%0Aenter_id=yes%0Aenter_id_type=phone%0Alogin_add_val_name=yes%0Arecord_name=no%0Ahangup_insert_file=yes%0Afolder_move=/0%0Arecord_end_run_tzintuk=yes%0Ahangup_send_tzintuk=yes%0Alist_tzintuk=1@אביי @מנצפכ
[שיניתי את הטוקן]
הגדרת שאר השלוחות עובדת מצויין, מה יכולה להיות הבעיה ואיך ניתן לפתור אותה?
בתודה מראש
[הקוד מיועד לבניית מערכת תא קולי עם הקראת שם משאיר ההודעה + שליחת צינתוק חוזר באם לא האזינו להודעה תוך זמן מסויים + אופציה לשליחת מייל, יפורסם כאן בפורום בלנ"ד כשיושלם]
עריכה: הסתדרתי, השתמשתי בpost
שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות