בניית פרמטרים "בהרכבה עצמית" לשימוש בשלוחת api. 📟
-
שדרוג לשלוחת api וכן שלוחת הוספת ערך ID
שלום וברכה!
קרה לכם פעם שרציתם להוסיף הגדרה בשלוחת הוספת ערך id אבל לא רציתם שתצטרכו להקליד את ההגדרה כולה, אלא רק את החלק הרלוונטי לשינוי?
או מודול api שאתם קוראים בו בחזרה לימות המשיח לבצע הגדרה, אבל אתם רוצים שחלק מההגדרה תילקח מנתון קיים?
(לדוגמא Api phone או כל פרמטר שנשלח ביחד עם הבקשה)
או שהמשתמש יוכל להקיש רק חלק מהמפתח או הערך?
️לדוגמא בשלוחת השמעת קבצים אתם מעוניינים לשנות את הגדרת
control_play9=go_to_folderואתם מעוניינים לשנות רק את ה 9,
עוד דוגמא
go_to_folder=/100/9ואתם מעוניינים שהמשתמש יוכל לשנות את הערך אבל רק בתוך שלוחה 100 והלאה.
ועוד רבות הדוגמאות....המודול בעצם מאפשר ליצור פרמטרים בשלוחת api (או בקריאות ישירות מהדפדפן) בחלקים לפי בחירתכם.
️לטובת הכלל אני משתף כתובת פריסה של סקריפט (ב apps script) הקוד מיועד לקבל כתובת לשליחת הבקשה, וכן את הפרמטרים לשליחה.
️הקוד בעצם מקבל את הכתובת לשליחת הבקשה (כערך של פרמטר) וכן את כלל הפרמטרים הרצויים.
הפרמטר שמיועד לכתובת של הבקשה נקרא g
לדוגמאg=https://www.call2all.co.il/ym/api/DounloadFile(חובה לצרף https://)
כמו כן ניתן לצרף פרמטרים כרצונכם.
עכשיו מגיעים אל העיקר,

כדי לבנות פרמטרים בהתאמה אישית, אתם צריכים לשלוח את המפתח + הערך תחת ערך של פרמטרים,
בשם
parameter_לאחר הקידומת הזו, הקוד ידע לזהות שאתם רוצים להוסיף פרמטר שאותו הוא יצטרך להרכיב.

לאחר ה
parameter_
ישנם כמה ערכים שצריך למלאות, כדי שהקוד ידע איפה הוא צריך להכניס את הערך של הפרמטר.דוגמא לפרמטרים שנשלחים לקוד
parameter_Aa1=a¶meter_Ab1=bהאפשרויות הם A-Z גדולות ומייד לאחר מכן a/b (או a או b בלבד) קטנות ולאחר מכן מספר החל מ 1 והלאה.
ככה זה אמור להיראות
psrameter_Aa1
עכשיו להסבר
הערך הראשון מייצג את מספר הפרמטר לבנייה.
לדוגמא פרמטר ראשון תוסיפו A/B וכו' באותיות גדולות.
הערך השני מייצג האם מדובר בחלק של לפני השווה או שלאחר השווה, יש להכניס a או b קטנות בלבד.
הערך השלישי מייצג את מספר החלק להכנסה חלק 1 ייכנס ראשון חלק 2 שני וכו'
דוגמא מלאה לשימוש כשלוחת apihttps://script.google.com/macros/s/AKfycbzcPTMhwrRBGH3J8ZI1sdbGAX7dfvOeItuGNg2_hYzYpZQxDBURsseoK4avTXHs84KzlA/exec?g=https://www.call2all.co.il/ym/api/UploadTextFile?x=f&k=p¶meter_Aa1=tok¶meter_Aa2=en¶meter_Ab1=h¶meter_Ab2=k¶meter_Ba1=path¶meter_Bb1=ivr2:/10/¶meter_Bb2=1¶meter_Ca1=x¶meter_Cb1=kבדוגמא רואים את החלק
1.https://script.google.com/macros/s/AKfycbwsz4VbnqxqF7zoOTqUpO6DivjUhUgqhK_bTxoLJ9Q1vKO1J6f1_iisfM0dPfDMFrOvZQ/execשהוא הקישור של הפריסה
לאחר מכן
g=https://www.call2all.co.il/ym/api/UploadTextFileשזה פרמטר שהערך שלו הוא בעצם הכתובת אליה הסקריפט ישלח את הבקשה והיא -
"https://www.call2all.co.il/ym/api/UploadTextFile"שימו לב !
אין להוסיף "?"לאחר הערך של g זה מתווסף לבד.עכשיו מתחילים עם פרמטריםלאחר מכן יש את הפרמטרים המצורפים
x=f&k=pהפרמטרים האלו ישלחו כרגיל.
ניתן לבטל את שליחתם של פרמטרים שאינם עם קידומתparameter_על ידי צירוף של parameter_setting2=no
(גם אם תשלחו את " parameter_setting2=no" הפעולה של השימוש בהם (יפורט בהמשך) עדיין תפעל על הפרמטרים האלו.לאחר מכן מגיעים הפרמטרים "בהרכבה אישית"
parameter_Aa1=tok¶meter_Aa2=en¶meter_Ab1=h¶meter_Ab2=kא.
parameter_Aa1=tok
כלומר:
בפרמטר הראשון, - (A) תוסיף בחלק שלפני השווה - (a) את מה שמופיע בערך שלהלן, ותוסיף אותו כחלק מספר 1 (1)
=tok.לאחר מכן
parameter_Aa2=en
כלומר:
בפרמטר הראשון (A) תוסיף בחלק שלפני השווה (a) חלק לאחר החלק הראשון (2) =enלאחר מכן
parameter_Ab1=h
כלומר:
בפרמטר הראשון (A) תוסיף בחלק שאחרי השווה (b) כהחלק הראשון (1) =hלאחר מכן
parameter_Ab2=k
כלומר:
בפרמטר הראשון (A) בחלק שאחרי השווה (b) תוסיף את חלק 2 (2) =kלמעשה מה שישלח בסוף זה
token=hkפרמטר 2:
מה שהבאתי בדוגמא זה:parameter_Ba1=path¶meter_Bb1=ivr2:/10/¶meter_Bb2=1כלומר מה שישלח זה
path=ivr2:/10/1בפרמטר השלישי (C) בדוגמא אנחנו משתמשים עם אופציה נוספת והיא לצרף לחלק של המפתח או לחלק של הערך, ערך שכבר נשלח באחד הפרמטרים הרגילים שצורפו.
מה שהובא בדוגמא:
parameter_Ca1=x¶meter_Cb1=kלכאורה מה שישלח אמור להיות
x=k
אבל מכיוון שצורפו לבקשה פרמטרים
x=f וכן k=p
לכן מה שישלח זה לא:
x=k
אלא
f=p
ניתן לבטל את האופציה כך שמה שישלח הוא בכל זאת x=k על ידי צירוף שלparameter_setting1=noאם צירפתם לבקשה - "parameter_setting2=no" הפעולה עדיין תתבצע, למרות שהפרמטרים - "x" וכן "k" עצמם לא יישלחו
דוגמאות לשימוש במודול:
https://script.google.com/macros/s/AKfycbzcPTMhwrRBGH3J8ZI1sdbGAX7dfvOeItuGNg2_hYzYpZQxDBURsseoK4avTXHs84KzlA/exec?g=https://www.call2all.co.il/ym/api/UploadTextFile&a=aaaaaaaa¶meter_Aa1=token¶meter_Ab1=a¶meter_setting2=noמה שישלח:
https://www.call2all.co.il/ym/api/UploadTextFile?token=aaaaaaaaדוגמא 2:
https://script.google.com/macros/s/AKfycbzcPTMhwrRBGH3J8ZI1sdbGAX7dfvOeItuGNg2_hYzYpZQxDBURsseoK4avTXHs84KzlA/exec?g=https://www.call2all.co.il/ym/api/UploadTextFile&token=aaaaaaaa¶meter_Aa1=a¶meter_Ab1=token¶meter_setting1=noמה שישלח:
https://www.call2all.co.il/ym/api/UploadTextFile?token=aaaaaaaa&a=token
דוגמא 3:https://script.google.com/macros/s/AKfycbzcPTMhwrRBGH3J8ZI1sdbGAX7dfvOeItuGNg2_hYzYpZQxDBURsseoK4avTXHs84KzlA/exec?g=https://www.call2all.co.il/ym/api/UploadTextFile&token=aaaaaaaa¶meter_Aa1=a¶meter_Ab1=bמה שישלח:
https://www.call2all.co.il/ym/api/UploadTextFile?token=aaaaaaaa&a=b
דוגמא לשימוש כשלוחה במערכת:
||
type=api api_link=https://script.google.com/macros/s/AKfycbzcPTMhwrRBGH3J8ZI1sdbGAX7dfvOeItuGNg2_hYzYpZQxDBURsseoK4avTXHs84KzlA/exec api_add_0=g=https://www.call2all.co.il/ym/api/UploadTextFile api_add_1=token=aaaaaaaa api_add_2=parameter_Aa1=token api_add_3=parameter_Ab1=token api_add_4=parameter_setting1=noכמובן שניתן ומומלץ לשנות חלק מההגדרות לערכים שהמאזין יכניס בעצמו...||

לסיכום, המאפיינים העיקריים בשימוש:
הפרמטרים:הפרמטר להכנסה משמעות אפשרויות אופציונליות הערות gפרמטר שמור לכתובת המיועדת לשליחת הבקשה אין להכניס "?" לאחר ה URL. חובה להכניס https:// parameter_קידומת שהסקריפט מזהה וממיין את הערך. [A - Z], [a / b], [1 - 100000] Aבאיזה פרמטר לבנייה מדובר. A - Z גדולות חייב להופיע אחרי parameter_ aהאם מדובר בחלק שלפני השווה או שלאחר השווה a/b קטנות בלבד. חייב להופיע אחרי האות הגדולה 1לאיזה חלק במפתח או בפרמטר להכניס, 1 והלאה. חייב להופיע אחרי a או b setting1שאם הוכנס ערך, שקיים פרמטר בשמו, שלא יתייחס לערך אלא ישלח כמות שהוא. ----------- חייב להופיע אחרי parameter_ setting2שלא ישלח פרמטרים שלא מתחילים ב parameter_ ---------- חייב להופיע אחרי parameter_ הקישור לפריסה הוא:
תשובת השרת היא:
הבקשה המלאה שנשלחה + תשובת השרת.
שימו לב שאם אתם משתמשים במודול api התשובה לא תושמע, או תיוחס, כמיטב המסורת של apps script עם ימות המשיח.
️באם יהיה צורך בכך אני אשתף פה את הסקריפט המלא.

מקווה שתפיקו תועלת.
לתגובות, פידבקים, באגים, הערות, והארות, אפשר להיכנס לשרשור התגובות.