שאלה בחיבור API מגוגל סקריפט
-
@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 מהו הקוד הזה הוא לא מושך שום קובץ ??
-
@מנסה נדמה לי שהם פותחים את זה אישית למי שמבקש ולפי הבקשה ולא כללית
-
-
-
@צדיק-תמים הדרך להשיג את הנתיב היא מאד פשוטה אין שום צורך בזה
-
-
@צדיק-תמים
כתבתי לך שאני לא רואה בזה שום צורך
אם אתה מתכוין לדרך להוציא את הנתיב