-
@פשוט-אבל-תותח אתה צריך לבנות את הבקשה קצת אחרת, ולהפריד את העניינים.
אני לא מנוסה בתחום, אבל הקוד הבא עשוי לעבוד:function uploadTextFileToYemot(){ var data = { 'token': '0733000000:1234', 'what': 'ivr2:/1/IdListMessage.ini', 'contents': SpreadsheetApp.getActiveSheet().getRange('L1').getValue() }; var options = { 'method' : 'post', 'payload' : data }; var response = UrlFetchApp.fetch('https://private.call2all.co.il/ym/api/UploadTextFile', options); //תוכל גם להציג את התגובה אם תרצה, על ידי השורה הבאה, או לנתח אותה כרצונך Logger.log(response.getContentText()); }
הערות:
- שים לב ששלפתי את הנתונים ב-content ישירות מהתא L1.
- התא K4 מיותר כעת.
- אולי בהמשך הייתי מציע לאסוף את כל הנתונים מן הגיליון ישירות בקוד ולא על ידי נוסחאות מסובכות בגיליון.
-
שיניתי את הקוד כדי להקל על הדיבוג. תריץ ותראה מה מופיע ב-Logger:
function uploadTextFileToYemot(){ var contents = SpreadsheetApp.getActiveSheet().getRange('L1').getValue(); Logger.log('---START OF CONTENTS---'); Logger.log(contents); Logger.log('---END OF CONTENTS---'); var data = { 'token': '0733000000:1234', 'what': 'ivr2:/1/IdListMessage.ini', 'contents': contents }; var options = { 'method' : 'post', 'payload' : data }; var response = UrlFetchApp.fetch('https://private.call2all.co.il/ym/api/UploadTextFile', options) //תוכל גם להציג את התגובה אם תרצה, על ידי השורה הבאה, או לנתח אותה כרצונך Logger.log(response.getContentText()); }
-
@פשוט-אבל-תותח זה נראה לי כאילו לא ביצעת את השינוי בקוד.
-
@פשוט-אבל-תותח הקוד נראה תקין. בדוק שהגליון שמכיל את D1 פתוח והוא הגליון הפעיל.
-
@פשוט-אבל-תותח הסתקרנתי. בדקתי את הקוד בעצמי, וגיליתי שהיתה לי שגיאה בשורה 2, כי לא ציינתי את האובייקט SpreadsheetApp. תיקנתי את הקודים למעלה וכעת זה שולח כראוי.
-
שאלה נוספת יש גם הגדרה ששואבת נתונים מקובץ במערכת, העניין הוא שזה מגיע כתשובה בתגובה, והשאלה שלי היא איך אפשר לקבל את זה בטבלה של גוגל שיטס
הקבצים שיוצאים מהמערכת הם בתבניות שונות
- INI
- CSV
- html
- ymgr
אשמח להסבר, גם אם רק על חלק מסוגי הקבצים זה יעזור לי מאוד, תודה רבה
-
@פשוט-אבל-תותח זה אותו נושא, או שהדבר היחיד שמקשר את זה לנושא הקיים זה שזה באותו פרוייקט/מטרה שלך?
אם זה נושא אחר פתח נושא חדש עם כותרת מתאימה. -
@odeddvir אמר בשליחת בקשת POST UploadTextFile ל-API של ימות המשיח:
var contents = SpreadsheetApp.getActiveSheet().getRange('L1').getValue();
יש אפשרות שבמקום תא אחד לשלוח עמודה שלימה ?
-
@פשוט-אבל-תותח אמר בשליחת בקשת POST UploadTextFile ל-API של ימות המשיח:
יש אפשרות שבמקום תא אחד לשלוח עמודה שלימה ?
כן:
getRange('L1:L')
-
@פשוט-אבל-תותח נכון, אתה צריך להחליף את getValue ל-getValues (ברבים) כך:
getRange('L1:L').getValues()
שים לב שהפעם התוצאה המתקבלת היא מערך דו-מימדי עם כל הערכים של התאים בטווח שציינת.
-
@odeddvir אמר בשליחת בקשת POST UploadTextFile ל-API של ימות המשיח:
getRange('L1:L').getValues()
זה מה שמתקבל בקובץ
[Ljava.lang.Object;@22effad9
-
@פשוט-אבל-תותח אמר בשליחת בקשת POST UploadTextFile ל-API של ימות המשיח:
זה מה שמתקבל בקובץ [Ljava.lang.Object;@22effad9
אני לא מבין מה כתבת. איזה קובץ?
בכל מקרה, הנראה שניסית רק להחליף את השורה הזו.
כתבתי לך לעיל שהתוצאה המתקבלת היא מערך דו-מימדי, אתה לא יכול לשלוח אותו כך ל-API (ובכן, טכנית אתה יכול... אבל אל תצפה להחליף את השורה הזו בלבד ושהקוד יעבוד בלי שום בעיה).
אתה צריך לסרוק את המערך ולשלוח בקשה נפרדת עבור כל תא.