שאלה בחיבור API מגוגל סקריפט
-
@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 מהו הקוד הזה הוא לא מושך שום קובץ ??
-
@מנסה נדמה לי שהם פותחים את זה אישית למי שמבקש ולפי הבקשה ולא כללית
-
-
-
@צדיק-תמים הדרך להשיג את הנתיב היא מאד פשוטה אין שום צורך בזה
-
-
@צדיק-תמים
כתבתי לך שאני לא רואה בזה שום צורך
אם אתה מתכוין לדרך להוציא את הנתיב -
@שמחה-זו-הסיסמא נראה לי שלא הבנת אותי. כתבתי שכדאי להוסיף את הapi להמרה ש @eliyahu הביא למעלה, לדף שמדבר על קבצי ymgr, ובדרך אגב כתבתי איך אפשר לקבל בקלות את נתיב הקובץ.
ענית רק לגבי הנ.ב., לא לגבי העיקר -
@צדיק-תמים
המקום של זה הוא לא שם אלא בתיעוד API של ימות המשיח
אינני יודע למה @eliyahu לא פירסם את זה שם -
שאלה נוספת: יש דרך לשנות את הערכים שבקובץ ymgr בצורה שמשנים בקבצי html שכשמאזין יקיש ערך מסויים יכנס לקובץ ערך שונה לדוגמא
P050+1=עגבניה P050+2=מלפפון
-
רק בקוד חיצוני
קובץ הYMGR מיועד לשמירת הנתונים הבסיסיים...
[מה לעשות, הרעיון משם יצרך לעבור עיבוד...]
-
@מיכאלוש למה אתה צריך לשנות תמשוך את זה כ CSV וזה יגיע איליך מסודר
-
הוא רוצה להוציא משם נתונים ולכן עדיף שזה מגיע כJSON
-
לפי התיעוד ש @שמואל העלה היום מה אני אמור לעשות בשביל לשנות את הנתונים שאני מקבל כ json מתוך קובץ ה YMGR
בתוך איזה קובץ אני אמור להכניס את הנתונים
עד היום השתמשתי כךhttps://call2all.co.il/ym/api/renderFile?wath=ivr2:3/ApprovalAll.ymgr&convertType=json&token=0773137770:111111
מהיום אני צריך להשתמש כך ?
https://call2all.co.il/ym/api/RenderYMGRFile?wath=ivr2:3/ApprovalAll.ymgr&convertType=json¬LoadLang?=0&token=0773137770:111111
ואיפה אני אמור להכניס את הנתונים שאני מעוניין שישתנו בתוך קובץ ה
ApprovalAll.ini
בשלוחה או בקובץ אחר ? -
את סימן השאלה תכניס רק לפני תחילת הפרמטרים ולא עוד אחד באמצע
https://call2all.co.il/ym/api/RenderYMGRFile?wath=ivr2:3/ApprovalAll.ymgr&convertType=json¬LoadLang=0&token=0773137770:111111
ואת השינוים תגדיר בקובץ INI הנ"ל [מקום אחד לכל סוגי ההורדות]