-
תגובה: שואל בצורה מסודרת יותר הפעלת קישור באופן קבוע מ Googek sheets
איך ניתן להריץ כתובת ארוכה מאוד
@OdedDvir כתב את הכלל
כתובת URL מוגבלת עד 2048 תוים. אם המחרוזת ארוכה יותר מזה היא תיחתךאגב אצלי זה לא נשלח כלל ולא נחתך
-
@פשוט-אבל-תותח כתובת URL מוגבלת עד 2048 תוים. לא ניתן לעקוף את המגבלה.
כדי לשלוח יותר נתונים צריך להשתמש בבקשת POST ולצרף את המידע ב-body של הבקשה.במקרה שלך אתה צריך לבדוק ספציפית עם ה-API של ימות המשיח האם בכלל אפשר לשלוח בקשת POST לנקודת הקצה של UploadTextFile.
אם תשנה את הנושא (על ידי עריכת ההודעה הראשונה) למשהו יותר מדוייק כגון "שליחת בקשת POST UploadTextFile ל-API של ימות המשיח", יש סיכוי שמישהו שמבין בתחום יסייע. לי אין היכרות עם הנושא.
-
@פשוט-אבל-תותח אפשרי גם בPOST
ציטוט: מכאן
את כל הבקשות (למעט העלאת קבצים) ניתן לשלוח בGET או בPOST(לא מבין בזה רק לעצם השאלה)
-
@שאול-נ-י הנה יש כאן איזה הסבר אבל צריך לדעת לקרוא אותו
https://f2.freeivr.co.il/post/35801 -
@פשוט-אבל-תותח אתה צריך לבנות את הבקשה קצת אחרת, ולהפריד את העניינים.
אני לא מנוסה בתחום, אבל הקוד הבא עשוי לעבוד: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();
יש אפשרות שבמקום תא אחד לשלוח עמודה שלימה ?