העלת קובץ בודד בapi
-
-
@שלוחה-404
מה זה אמור להיות -
@החסיד זה מעלה קובץ בודד למערכת אתה יכול לקרוא את הקוד וללמוד את הלוגיקה אתה יכול להשתמש בזה כדי להעלות
-
@שלוחה-404
אני לא רואה בזה את הפרמטרים. אני בסך הכל רוצה לדעת את השם של הפרמטר שבתוכו אני שולח את הקובץ עצמו. -
שמישהו כבר יענה לי
הנה מה שהגדרתי בגוגל סקריפט:
ואני מקבל השגיאה הנ"ל
מה יכול להיות הבעיה? -
@החסיד
גוגל סקריפט לא תומך מול ימות
דובר על זה אינספור פעמים בפורום! -
@לימוד-בתורת-מרן
מה זה אומר לא תומך,
א) יש ל @אביי-ורבא את Mail Talk שעובד על גוגל סקריפט
ב) בהתחלה קיבלתי שגיאה שהטוקן לא תקין, ואז שמתי את זה בתוך הURL וזה החזיר שגיאה על השלוחה עד ששמתי גם את זה בהURL, עכשיו הקובץ עצמו אני לא יכול לצרף בהURL, אבל אני רואה מזה שזה בעצם עובד רק כנראה שיש לי איזה בעיה עם הbody
אשמח שמישהו יעזור לי בזה. -
@החסיד עוד רלוונטי?
-
@אופיר
כן, מאוד אשמח לקבל תשובה. -
@החסיד בעיקרון זה די פשוט, והתיעוד המלא נמצא כאן, אבל אני יתן דוגמה של פונקציה להעלאת קובץ מגוגל דרייב למערכת ימות המשיח
יש לקרוא לפונקציה עם הפרמטרים הבאים:- fileName - שם הקובץ כפי שהוא מופיע בגוגל דרייב (כולל סיומת).
- token - טוקן ההתחברות למערכת (מפתח API).
- targetPath - הנתיב המלא ויעד שמירת הקובץ במערכת, כולל סיומת (לדוגמה: ivr2:1/M1000.wav).
- autoNumbering - האם למספר את הקובץ אוטומטית בשלוחה. ברירת מחדל (אם לא צויין) היא לא.
- הפונקציה מחזירה אובייקט JSON המכיל את תגובת השרת ימות המשיח.
function uploadFileToYemot(fileName, token, targetPath, autoNumbering = false) { const url = "https://www.call2all.co.il/ym/api/UploadFile"; const extension = targetPath.split('.').pop().toLowerCase(); const tts = extension === "tts"; let convertAudio = (extension !== "tts" && extension !== "wav"); if (autoNumbering) { //התנאי הזה נוסף בעקבות באג פנימי של ימות בהעלאת קבצים עם מספור אוטומטי. convertAudio = true; } const fileBlob = DriveApp.getFilesByName(fileName).next().getBlob(); const payload = { token: token, path: targetPath, file: fileBlob, autoNumbering: autoNumbering ? 1 : 0, convertAudio: convertAudio ? 1 : 0, tts: tts ? 1 : 0 }; const options = { method: "post", payload: payload }; const response = UrlFetchApp.fetch(url, options); return JSON.parse(response.getContentText()); }דוגמה לשימוש:
uploadFileToYemot("תפריט ראשי.mp3", "מפתח API...", "ivr2:/M1000.wav");