הפעלת סקריפט דרך הטלפון
-
-
@אביי-ורבא
תודה!
אני צריך פשוט לכתוב כך?type=api api_link=כתובת הפריסה
ניסיתי, וזה לא עזר!
האם צריך להוסיף עוד משהו לשלוחה? -
@אביי-ורבא מה זה הפריסה של הסקריפט?
-
@הקבצן-הנודע
בצד שמאל למעלה לוחצים על הכפתור 'לפריסה' ונבחר בפריסה חדשה,
נבחר את סוג הפריסה כאפליקציית אינטרנט, נגדיר שיהיה גישה לסקריפט לכולם ונלחץ למטה על פריסה.
דוגמא
ומעתיקים את כתובת URL מאפליקציית אינטרנט -
@אברהם-מנס אפה בצד שמאל למעלה?
-
-
@דוד_מלך_ישראל אני לא מבין בכלל בסקריפטים מה זה, זה בתוכנה של הסקריפט?
-
@הקבצן-הנודע במקום שבו מכניסים את הקוד לסקריפט, יש לך כפתור כזה בצד שמאל למעלה, נסה להיכנס לכאן ולבחור בסקריפט שלך.
-
@דוד_מלך_ישראל יש לזה הגבלות כלשהן?
-
@jack כמו מה, למשל?
-
-
-
@אברהם-מנס קראת את התיעוד של הפריסות בגוגל סקריפט? (או לפחות היית שואל את הצ'אטבוט )...
האם יש לך פונקציה בשם doGet בסקריפט?
-
@אביי-ורבא @אברהם-מנס אי אפשר להשתמש בגוגל סקריפט כשרת API
ראה https://tchumim.com/topic/13358/התחברות-ל-api-של-ימות-המשיח-דרך-גוגל-סקריפט/11 -
@צדיק-תמים זה נכון ולא נכון.
בתכל'ס מצאתי דרך שבה זה עובד מצויין, אינני זוכר כיצד בדיוק, אולי בגלל שהשתמשתי בpost, אין לי כרגע את הזמן לבדוק, אבל זה בהחלט אפשרי (לשלוח וובהוק בלבד, בלי לקבל תשובה מהשרת)
-
@צדיק-תמים כעת בדקתי, וזה אכן בפוסט.
בשלוחה זה ההגדרות שמופיעות
type=api api_link=https://script.google.com/macros/s/AKfycbyE67pUf0snjfdcqjUafMDVHxIYL9mRQnNv5E/exec
כמובן ששומעים "אין מענה משרת API" וברגע ששומעים, אפשר לנתק.. אם לא יכול להיות שנשלחת קריאה פעמיים וכו' לא ממש בדקתי לעומק (אני עשיתי סנן לפי קריאות & מזהה שיחה)
-
@אביי-ורבא כתב בהפעלת סקריפט דרך הטלפון:
האם יש לך פונקציה בשם doGet בסקריפט?
https://developers.google.com/apps-script/guides/web?hl=heלא היה לי כזה פונקציה!
אבל ביקשתי מהצ'אטבוט (שאתה שונא אותו ) שיעדכן את הסקריפט עם פונקציה כזאת!
ביקשתי ממנו סקריפט למחיקת קבצים במערכת, וזה מה שהוא נתן לי!function doGet(e) { const token = '079*******:*******'; // החלף במספר וסיסמת המערכת שלך const urlsToDelete = [ 'ivr2:/1/ApprovalAll.ymgr',//החלף מספר שלוחה ושם הקובץ 'ivr2:/2/ApprovalAll.ymgr', ]; // אפשר להוסיף עוד שורות למחיקת קבצים נוספים const baseUrl = 'https://call2all.co.il/ym/api/FileAction'; const options = { 'method': 'get', 'muteHttpExceptions': true }; urlsToDelete.forEach(function(url) { const urlToDelete = baseUrl + '?token=' + token + '&action=delete&what=' + url; const response = UrlFetchApp.fetch(urlToDelete, options); Logger.log('File deleted: ' + url); }); return ContentService.createTextOutput('Files deleted successfully'); }
יש לציין שבדקתי הרבה פעמים וגם בכמה מערכות, והפעלתי את הסקריפט (דרך המחשב) וזה עבד ומחק את הקבצים!
ובמערכת כתבתי את ההגדרות כתו שאמרת!type=api api_link=https://script.google.com/macros/s/AKfycbyE67pUf0snjfdcqjUafMDVHxIYL9mRQnNv5E/exec
נכנסתי לשלוחה, שמעתי "אין מענה משרת API", אבל זה לא מחק את הקבצים!
-
@אברהם-מנס כתב בהפעלת סקריפט דרך הטלפון:
לא היה לי כזה פונקציה!
אבל ביקשתי מהצ'אטבוט (שאתה שונא אותו ) שיעדכן את הסקריפט עם פונקציה כזאת!כבר עדכנתי שזה לכאורה יעבוד רק ב
@אביי-ורבא כתב בהפעלת סקריפט דרך הטלפון:@צדיק-תמים כעת בדקתי, וזה אכן בפוסט.
תשנה את השם של הפונקציה לdoPost ותעדכן את הפריסה...
-
@אביי-ורבא כתב בהפעלת סקריפט דרך הטלפון:
תשנה את השם של הפונקציה לdoPost ותעדכן את הפריסה...
ותוסיף בשלוחה
api_url_post=yes
-
@אביי-ורבא כתב בהפעלת סקריפט דרך הטלפון:
תשנה את השם של הפונקציה לdoPost ותעדכן את הפריסה...@אביי-ורבא תודה רבה זה עובד טוב! (יש בוט , אבל חייבים גם בני אדם )
שאלה:
יש לי גיליון גוגל שיטס שיש בתוכו כמה סקריפטים, אני רוצה להפעיל את הסקריפטים דרך הטלפון, ולעשות שלוחה נפרדת לכל סקריפט.
ואם אני ישנה את כל הסקריפטים לפונקציהdoPost
אז זה יפעיל בפעם אחד את כל הסקריפטים.
האם יש לך איזה פיתרון? -
@אברהם-מנס להוסיף פרמטר query set, לדוגמה
mode
ואז לפיו להפעיל מתוך הdoPost
את הפונקציה הנכונהדוגמה:
function firstFunc() {} function otherFunc() {} function doPost(e) { const { mode } = e.parameter; switch (mode) { case '1': firstFunc(); break; case '2': otherFunc(); break; default: throw new Error('Unknown mode'); } }
-
-
-