@yg
מישהוא כבר העלה לפורום פעם כזה דבר...
הודעות שפורסמו על ידי מיכאלוש
-
RE: מודל הורדת נתונים מקובץ ymgr לאקסל
-
RE: איך אפשר לעשות שהרובוט יקריא חלק מאיזה אתר?
@מזדה כמו שכבר כתבו בקשות כאלה הם בתשלום...
אז או שתשלם למישהוא שיבנה לך כזאת מערכת
או שתלמד שפת תכנות כלשהית ותבנה את זה לבד בחינם...סתם לסבר את האוזן כך זה נראה בגוגל שיטס עם הנוסחא:
=IMPORTHTML("https://www.kore.co.il/flashNews","list")
-
RE: מודל הורדת נתונים מקובץ ymgr לגוגל שיטס
@eli98 כנ"ל כמו ש @שמואל-ש אמר השפה לא משנה הקישור אותו קישור
https://call2all.co.il/ym/api/RenderYMGRFile?token=035111111:12345&wath=ivr2:2/ApprovalAll.ymgr&convertType=csv-LoadLtable=0
-
RE: מודל הורדת נתונים מקובץ ymgr לגוגל שיטס
@eli98
יש לך כמה טעויות מניח שתשים לב לבד, אתה אמור לכתוב כך=IMPORTHTML("https://call2all.co.il/ym/api/RenderYMGRFile?token=035111111:12345&wath=ivr2:2/ApprovalAll.ymgr&convertType=csv¬LoadLang=0","table")
-
RE: דרוש פיתוח קטן לזיכוי הרבים
@אבו כתב בדרוש פיתוח קטן לזיכוי הרבים:
אולי כדאי עכשיו, סתם לתועלת הציבור לעשות את זה בתור מדריך נפרד איך שולחים מייל למאזינים מהמערכת
-
מודל שליחת מייל מעוצב למאזין עם קובץ מצורף
מודל שליחת מייל מעוצב למאזין עם קובץ מצורף
בס"ד
רציתם לשלוח מייל למאזין עם קובץ מצורף ולא ידעתם איך, בשבילכם בדיוק המודל הבא
למען הסדר הטוב נחלק את המודל לחלקים
נתחיל מהסקריפט נפתח פרוייקט חדש בגוגל סקריפט ניתן לו שם כלשהוא לדוגמא מייל למאזינים נמחק את כל מה שכתוב שם ונדביק את הטקסט הבא
1
הצורה הסטנדרטית אחסון הקבצים בגוגל דרייב
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //מזהה הקובץ בדרייב let filing = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; //עד כאן המשתנים לעריכת המשתמש let file = DriveApp.getFileById(filing); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file]}) };
הסברים לעריכה:
- שורה 4 מופיע השם שהמאזינים יראו על המייל שיקבלו
- שורה 6 מופיע הכותרת של המייל שהמאזינים יקבלו
- שורה 8 מופיע תוכן המייל בתבנית HTML נוכל לעצבו כרצוננו לדוגמא כאן
- שורה 10 מזהה הקובץ בדרייב (ID) לדוגמא מה שמודגש זה המזהה שצריך לכתוב בשורה 10
https:/drive.google.com/file/d/1Aon8tmIA0RBDwlrJqnlfkiQDGowjxNZ-/view
ניתן לצרף גם מספר קבצים למייל דוגמאות בספויילר
2 קבציםfunction doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //מזהה הקבצים בדרייב let filing = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing2 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; //עד כאן המשתנים לעריכת המשתמש let file = DriveApp.getFileById(filing); let file2 = DriveApp.getFileById(filing2); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2]}) };
3 קבצים
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //מזהה הקבצים בדרייב let filing = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing2 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing3 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; //עד כאן המשתנים לעריכת המשתמש let file = DriveApp.getFileById(filing); let file2 = DriveApp.getFileById(filing2); let file3 = DriveApp.getFileById(filing3); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2,file3]}) };
4 קבצים
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //מזהה הקבצים בדרייב let filing = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing2 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing3 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing4 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; //עד כאן המשתנים לעריכת המשתמש let file = DriveApp.getFileById(filing); let file2 = DriveApp.getFileById(filing2); let file3 = DriveApp.getFileById(filing3); let file4 = DriveApp.getFileById(filing4); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2,file3,file4]}) };
5 קבצים
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //מזהה הקבצים בדרייב let filing = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing2 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing3 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing4 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; let filing5 = '1GUwbRJHg2Swj-4qPnslQrjDeUVOS3KAK'; //עד כאן המשתנים לעריכת המשתמש let file = DriveApp.getFileById(filing); let file2 = DriveApp.getFileById(filing2); let file3 = DriveApp.getFileById(filing3); let file4 = DriveApp.getFileById(filing4); let file5 = DriveApp.getFileById(filing5); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2,file3,file4]}) };
וכו'
2
צורה נוספת אחסון הקבצים על כל שרת אחסון
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //כתובת שרת האחסון let filing = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; //עד כאן המשתנים לעריכת המשתמש let file = UrlFetchApp.fetch(filing); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file]}) };
ההסברים לעריכה כנ"ל ההבדל היחיד במילוי הוא בשורה 10 שבמקום מזהה הקובץ בדרייב כותבים את הכתובת של הקובץ בשרת האחסון (יש גם הבדל קטן בשורה 12)
ניתן כנ"ל לשלוח גם מספר קבצים כמופיע בספויילר
2 קבציםfunction doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //כתובות שרת האחסון let filing = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing2 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; //עד כאן המשתנים לעריכת המשתמש let file = UrlFetchApp.fetch(filing); let file2 = UrlFetchApp.fetch(filing2); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2]}) };
3 קבצים
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //כתובות שרת האחסון let filing = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing2 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing3 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; //עד כאן המשתנים לעריכת המשתמש let file = UrlFetchApp.fetch(filing); let file2 = UrlFetchApp.fetch(filing2); let file3 = UrlFetchApp.fetch(filing3); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2,file3]}) };
4 קבצים
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //כתובות שרת האחסון let filing = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing2 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing3 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing4 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; //עד כאן המשתנים לעריכת המשתמש let file = UrlFetchApp.fetch(filing); let file2 = UrlFetchApp.fetch(filing2); let file3 = UrlFetchApp.fetch(filing3); let file4 = UrlFetchApp.fetch(filing4); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2,file3,file4]}) };
5 קבצים
function doGet(e) { let recipient = e.parameter.P050; //כינוי השולח let name = 'מייל למאזין'; //כותרת ההודעה let subject = 'הקובץ שבקשתם'; //תוכן ההודעה (HTML) let body = `<b>תוכן ההודעה</b>`; //כתובות שרת האחסון let filing = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing2 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing3 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing4 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; let filing5 = 'https://f2.freeivr.co.il/assets/uploads/files/1659036172125-4d687dd2f67ef70c086f019f567cf422.gif'; //עד כאן המשתנים לעריכת המשתמש let file = UrlFetchApp.fetch(filing); let file2 = UrlFetchApp.fetch(filing2); let file3 = UrlFetchApp.fetch(filing3); let file4 = UrlFetchApp.fetch(filing4); let file5 = UrlFetchApp.fetch(filing5); MailApp.sendEmail(recipient,subject,``,{name,htmlBody: body ,attachments:[file,file2,file3,file4,file5]}) };
3
שמירת ופריסת הסקריפט
בסיום עריכת הסקריפט נלחץ בצד שמאל למעלה על הכפתור של פריסה ונבחר בפריסה חדשה, נבחר את סוג הפריסה כאפליקציית אינטרנט, נבחר תיאור כלשהוא, נגדיר שיהיה גישה לסקריפט לכולם ונלחץ למטה על הלחצן לפריסה
דוגמא
כעת נצטרך לאשר את ההתראות הקבועות של גוגל סקריפט נצטרך להכנס לחשבון גוגל שלנו וללחוץ על מתקדם ומעבר אל מייל למאזין (לא מאובטח)
בסיום נקבל את הכתובת של הפריסה תעתיקו ותשמרו אותה עוד נשתמש בה עוד רגע בשלב הבאכמובן המודל מאובטח בהחלט אתם היחידים ששולטים על הסקריפט
4
ההגדרה במערכת
לצורך שליחת המייל עם הקובץ המצורף למאזינים נשתמש במודל קבלת נתונים נכנס לאתר הניהול לשונית מערכת תוכן, בשלוחה שבחרנו לצורך ההרשמה נבחר את לשונית הגדרות מתקדמות, נמחק את כל מה שיש שם ונדביק את הטקסט הבא (הוספתי הסברים למתקשים)
//הגדרת סוג השלוחה כשלוחת קבלת נתונים type=recording_and_entering_data //הגדרת קבלת הנתונים במקלדת מייל 050-option=---EmailKeyboard //השמעת אישור קבלת הנתונים ללא השמעת מספר אישור say_approval_number=say_approval_no_number //ההגדרה שבסיום ישלח את הנתונים שהתקבלו לסקריפט שלנו recording_and_entering_data_ok_sand_api=yes //כתובת פריסת הסקריפט שלנו recording_and_entering_data_ok_sand_api_link=פה נדביק את כתובת הפריסה של הסקריפט שלנו
נוסיף בשורה האחרונה את כתובת הפריסה של הסקריפט שלנו שקיבלנו בשלב הקודם
ונלחץ על שמור
כעת נצטרך לעלות לשלוחה שני קבצי שמע אחד בשם050
שיבקש מהמאזין להקיש את כתובת המייל שלו וקובץ נוסף בשםM1447
שיאשר שקבלת כתובת המייל הסתיימה בהצלחה וברגעים אלו נשלח המייל
וסיימנו המודל פעילבהצלחה
-
RE: מודל הורדת נתונים מקובץ ymgr לגוגל שיטס
חדש !
גרסא 2
הוספות בגרסא 2
- כל התאים הוגדרו כטקסט ע"מ למנוע בעיות שה 0 וכו' נעלמים
- נוספו אפשרויות רענון על בסיס דקות/שעות לנחותכם
- נוספה האפשרות לרענון בעת עליית המסמך כמו שהציע @מנצפכ
-
מודל הרשמה לרשימת תפוצה במייל
מודל הרשמה לרשימת תפוצה במייל
בס"ד
רציתם לשלוח מייל שבועי למאזינים ולא ידעתם איך, בשבילכם בדיוק המודל הבא
למען הסדר הטוב נחלק את המודל ל 3 חלקים
יצירת תווית לרשימת תפוצה
1
נכנס לאנשי קשר של חשבון גוגל שלנו ובצד ימין בלשונית תוויות ניצור תווית חדשה נקרא לה לדוגמא רשימת תפוצה זהו סיימנו אפשר לסגור את האנשי קשר ולעבור לשלב הבא
הגדרת הסקריפט
2
נפתח פרוייקט חדש בגוגל סקריפט נתן לו שם כלשהוא לדוגמא רשימת תפוצה נמחק את כל מה שכתוב שם ונדביק את הטקסט הבא
function doGet(e) { let email = e.parameters.P050 let name = e.parameters.Phone let method = e.parameters.method let tavit = 'רשימת תפוצה' const validate = validateemail(email) if (validate === false) { Logger.log(`fake mail submitted...`) let result = { email: false, existed: false, created: false } return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JAVASCRIPT) } if (method == 'remove') { let contact = ContactsApp.getContact(email) if (!contact) { let result = { removed: false } return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JAVASCRIPT) } else { contact.deleteContact() Logger.log(`user remove himself from list`) let result = { removed: true } return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JAVASCRIPT) } } let found = ContactsApp.getContact(email) if (!found) { Logger.log(`address: ${email}. address not found.. creating contact, naming ${name}`) var group = ContactsApp.getContactGroup(tavit) ContactsApp.createContact(name, '', email).addToGroup(group) let result = { email: true, existed: false, created: true} return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JAVASCRIPT) } else { Logger.log(`address: ${email}. found in contacts, changing to ${name}`) found.setFullName(name) let result = { email: true, existed: true, created: false} return ContentService.createTextOutput(JSON.stringify(result)).setMimeType(ContentService.MimeType.JAVASCRIPT) } }
בשורה 5 שימו לב שהשם של התווית תואם לשם שבחרתם אם לא עכשיו זה הזמן לשנות
כעת בצד שמאל למעלה נחלץ על הכפתור של פריסה ונבחר בפריסה חדשה, נבחר את סוג הפריסה כאפליקציית אינטרנט, נבחר תיאור כלשהוא, נגדיר שיהיה גישה לסקריפט לכולם ונלחץ למטה על פריסה דוגמא
כעת נצטרך לאשר את ההתראות הקבועות של גוגל סקריפט נצטרך להכנס לחשבון גוגל שלנו וללחוץ על מתקדם ומעבר אל רשימת תפוצה(לא מאובטח)
בסיום נקבל את הכתובת של הפריסה תעתיקו ותשמרו אותה עוד נשתמש בה עוד רגע בשלב הבאכמובן המודל מאובטח בהחלט אתם היחידים ששולטים על הסקריפט
ההגדרה במערכת
3
לצורך ההרשמה של המאזינים לרשימת תפוצה במייל נשתמש במודל קבלת נתונים נכנס לאתר הניהול לשונית מערכת תוכן, בשלוחה שבחרנו לצורך ההרשמה נבחר את לשונית הגדרות מתקדמות, נמחק את כל מה שיש שם ונדביק את הטקסט הבא (הוספתי הסברים למתקשים)
//הגדרת סוג השלוחה כשלוחת קבלת נתונים type=recording_and_entering_data //הגדרת קבלת הנתונים במקלדת מייל 050-option=---EmailKeyboard //השמעת אישור קבלת הנתונים ללא השמעת מספר אישור say_approval_number=say_approval_no_number //ההגדרה שבסיום ישלח את הנתונים שהתקבלו לסקריפט שלנו recording_and_entering_data_ok_sand_api=yes //כתובת פריסת הסקריפט שלנו recording_and_entering_data_ok_sand_api_link=פה נדביק את כתובת הפריסה של הסקריפט שלנו
נוסיף בשורה האחרונה את כתובת הפריסה של הסקריפט שלנו שקיבלנו בשלב הקודם
ונלחץ על שמור
כעת נצטרך לעלות לשלוחה קובץ שמע בשם 050 שיבקש מהמאזינים להקיש את כתובת המייל שלהם
וסיימנו המודל פעילבהצלחה
קרדיט הסקריפט מבוסס על הסקריפט ש @chv פרסם פה אני רק ערכתי והתאמתי אותו לשימוש בטלפון
-
RE: דרוש פיתוח קטן לזיכוי הרבים
@שמואל-ש למה באתר זה נהיה כך זה באמת שאלה אבל תכלס זה עובד
-
RE: שימוש בגוגל סקריפט עם הפונקציה doGet() כשרת API לא עובד
@מוטי-מן לאחר בדיקה הגעתי למסקנה שניתן בהחלט להשתמש עם גוגל סקריפט כשרת API אבל רק אם שולחים אליו את הנתונים אחרי קבלתם
לצורך כך תגדיר שלוחת קבלת נתונים רגילה ובסוף תוסיףrecording_and_entering_data_ok_sand_api=yes recording_and_entering_data_ok_sand_api_link=https://script.google.com/macros/s/AKfycbyZbEtnefBwlq7fs2e4l3H*******/exec
כל מה שיתקבל ישלח בסוף לסקריפט
את הסקריפט תפרוס כמובן ותדביק את הכתובת בשלוחה
דוגמא לשליחת מייל מגוגל סקריפט בצורה הבאהfunction doGet(e) { const recipient = e.parameter.P050; const subject = e.parameter.P051; const body = e.parameter.P052; const name = 'פלוני'; MailApp.sendEmail(recipient,subject,body,{ name }); }
@שמואל-ש @מנצפכ @שמחה-זו-הסיסמא
תודה ל @צדיק-תמים על העזרה -
RE: איך אפשר לעשות שיהיה ניתן לקבל קובץ מוגדר למייל או לוואצאפ שהמאזין יקיש?
@שמואל-ש לא כי היא לא תגיע לסקריפט
-
RE: איך אפשר לעשות שיהיה ניתן לקבל קובץ מוגדר למייל או לוואצאפ שהמאזין יקיש?
@שמואל-ש אני יסביר לך מה הבעייה אם תנסה להתחבר לסקריפט של גוגל שפרוס לקבל נתונים ב GET מחלון אנונימי אתה תופנה קודם לדף של כניסה לחשבונות גוגל לפני שתופנה לסקריפט עצמו והשרת של ימות לא תומך בהפנייה כנראה מטעמי אבטחה
את POST לא ניסתי אבל בפשטות זה אותו דבר