שאלה בחיבור API מגוגל סקריפט
-
@eliyahu
חבל באמת שאין תיעוד לזה..
היה לי מחשבה בעבר ליצור api להמרת קבצי ymgr לפורמטים שונים
זה דבר מאוד נצרך! -
@amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:
(החלפתי את ה const ל var, יותר נכון לכאורה)
אם אתה מגיע מעולם ה JavaScript של 2013 אתה צודק.
כיום זה חד משמעית לא נכון בשום צורה. -
@שמואל מה הפירוש? אם הייתי משתמש עם const לא הייתי יכול להגדיר אותו מחדש
?? -
@amp-Software-0 על
let
שמעת?
נ.ב.replace
מחליף רק פעם אחת. בשביל להחליף יותר מפעם אחת צריך להשתמש בreplaceAll
אבל כמובן כל זה לא רלוונטי למעשה, כיוון שיש API מוכן לזה. -
@avrham אמר בשאלה בחיבור API מגוגל סקריפט:
ממה למה עוד אפשר להמיר שם?
@eliyahu אמר בשאלה בחיבור API מגוגל סקריפט:
@avrham אמר בשאלה בחיבור API מגוגל סקריפט:
למה עוד אפשר להמיר שם
csv
htmlלמה = json, html , csv
ממה = ymgr -
@צדיק-תמים
נכון, אפשרי גם let (רק שיש לו הגבלות בנוגע לתחום ההצהרה שלו, אז יותר פשוט ה var)
בכל מקרה זה לא נוגע לדיון המקורי..
לגבי ה replace השתמשתי עם ביטוי רגלורלי (g) זה מחליף את הכל
תבדוק -
@amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:
נכון, אפשרי גם let (רק שיש לו הגבלות בנוגע לתחום ההצהרה שלו, אז יותר פשוט ה var)
הגבלות מועילות מאוד, הצהרה חוצת סקופים היא דבר רע שעלול לגרום להתנהגות לא צפויה
לא סתם הוסיפו את זה לשפה -
@eliyahu אמר בשאלה בחיבור API מגוגל סקריפט:
יש ws מיוחד שממיר קבצי ymgr לjson
https://call2all.co.il/ym/api/renderFile?wath=ivr2:OK/ApprovalAll.ymgr&convertType=json&token=****
מה פירוש השגיאה שמופיעה לי ?
{ "responseStatus":"Exception", "message":"wath is required", "file":"renderFile.ym", "Line":"12:19", "yALogsVersion":"1.0.7" }
@amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:
אבל לשם מה אתה צריך את הקבצים מהתיקיה ההיא?
למניעת כפילויות חשבתי אולי להשתמש בקבצים שבתיקייה הזאת שבהם אחרי שקיבלתי את הנתונים אני יכול למחוק את הקבצים למניעת כפילויות
אבל אם זה לא אפשרי ללא שם מלא של הקובץ אני ישתמש בקבצים שבתיקייה הראשית ואצטרך למצוא פתרון אחר למניעת כפילויות -
@מיכאלוש אמר בשאלה בחיבור API מגוגל סקריפט:
מה פירוש השגיאה שמופיעה לי ?
כתוב בהודעה שחסר את פרמטר wath
-
@eliyahu אולי לא מילאתי אותו נכון ?
איך ממלאים אותו כך ?https://call2all.co.il/ym/api/renderFile?wath=ivr2/1:OK/ApprovalOk.ymgr&convertType=json&token=0733******:123456
-
-
@שמחה-זו-הסיסמא השגיאה עדיין מופיעה לי
{"responseStatus":"Exception","message":"Error retrieving file path information","file":"renderFile.ym","Line":"20:19","yALogsVersion":"1.0.7"}
מה לא נכון בצורה שהגדרתי את הנתיב לקובץ ?
הקובץ נמצא בשלוחה 1 וזה השם המלא שלו ?wath=ivr2:1:OK/ApprovalOk.ymgr
-
@מיכאלוש
ivr2:1/1/ApprovalOk.ymgr
שים לב שבנתיב שתכתוב אכן מופיע קובץ כזה -
@שמחה-זו-הסיסמא תודה רבה עובד מצויין
-
@eliyahu @שמואל היות ופיתחתי את הממשק הזה:
https://f2.freeivr.co.il/topic/8292/המרת-דוחו-ת-ymgr-לתצוגת-טבלה-אונלייןעליתי על באג בהמרה כאשר קיים הערך
ApiEnterIDName
, היות והוא מקודד הוא מגיע בצורה כזו:%D7%A0%D7%A6%D7%99%D7%92%20%D7%9C%D7%91%D7%93%D7%99%D7%A7%D7%94
, זה גורם לפונקציות הפיענוח לחתוך אותו בכל%
וליצור עשרות מפתחות ריקים.
אני פתרתי את זה עם קוד PHP שמעביר את הערך הזה דרך רג'קס שמפעיל פונקציית urldecode על הערך הזה בלבד:$v = preg_replace_callback( '/ApiEnterIDName=[^\&]+\&/', function($m){ return urldecode( $m[0] ); } , $v );
-
@הקול-הירושלמי זה לא הבעיה היחידה בלוג API.
בעז"ה יטופל -
@amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:
כעת כדי לגשת לערך כל שהוא בקובץ את צריך לציין מספר שורה ו key או לחילופין לרוץ על כל המערך.
לדוגמא:
;var P050 = file[0]["P050"]
בפועל גוגל סקריפט מחזיר לי שגיאה.
בטוח שככה מציינים לו שיקח את הערכים שאחרי 050 ? -
@מיכאלוש
בנטפרי חסמו את האופציה לשלוח בקשות עםUrlFetchApp
של גוגל סקריפט
אבל מלמעלה אני רואה שיש לך טעות ב URL שאתה שולחconst download = JSON.parse(UrlFetchApp.fetch(url + 'DownloadFile?' + token + path + name));
צריך להיות
const download = JSON.parse(UrlFetchApp.fetch(url + 'DownloadFile?token=' + token + '&path=' + path + name));
בכל מקרה הקוד הזה עובד מעולה, תנסה לדבג את הקוד שלך ולבדוק מה השגיאה שגוגל מחזירה
function downloadFile(){ var download = `Status#OK%Folder#1/1/1%DID#035000000%Phone#05484111111%Date#03/12/2020%Time#22:11:50%HebrewDate#י״ח כסלו תשפ״א%var#Folder-1/1/1%Booking#1001%Data#%P050#22 Status#OK%Folder#1/1/2%DID#035000000%Phone#05484111111%Date#03/12/2020%Time#22:12:02%HebrewDate#י״ח כסלו תשפ״א%var#Folder-1/1/2%Booking#1002%Data#%P050#98`; download = '[{"' + download; download = download.replace(/#/g, '":"'); download = download.replace(/%/g, '","'); download = download.replace(/\n/g, '"},{"'); download = download + '"}]'; var file = JSON.parse(download); for (r=0;r<file.length;r++){ Logger.log(file[r]["P050"]); } }
-
@amp-Software-0 אמר בשאלה בחיבור API מגוגל סקריפט:
@מיכאלוש
בנטפרי חסמו את האופציה לשלוח בקשות עםUrlFetchApp
של גוגל סקריפטברוך ד' פתחו
-
@amp-Software-0 מהו הקוד הזה הוא לא מושך שום קובץ ??