פורום מחשבים

פורום לענייני מחשבים, תוכנות, אינטרנט, סינונים, שרתים, חומרה, רשתות, תקשורת ועוד.
מנהל הפורום: יעקב ויצמן

מחשבים ותוכנות > תוכן מקצועי

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

256.jpg


ג'ימייל, שירות המייל הפופולרי של גוגל חגג אמש 15 שנים להשקתו; מאז עלה לאוויר ב-2004 הפך לאחד הנפוצים בעולם, כשמתחרים ותיקים כיאהו מייל דעכו ואחרים כהוטמייל נבלעו בידי חברות גדולות.

לכבוד יום הולדתו של השירות, חשפה גוגל תכונה חדשה ושימושית ביותר בו: יכולת תזמון מראש של שליחת מייל. כפתור חץ קטן שיופיע לצד ההודעה יאפשר לכם לקבוע אם לשלוח אותה מיידית או בהשהייה. התכונה עדיין לא זמינה לכלל המשתמשים.

הרעיון הוא לאפשר להשיב למישהו על מייל בנושא עבודה שראיתם באמצע הלילה גם בלי להעיר אותו בהתראה - אלא פשוט להגדיר לג'ימייל לשלוח את ההודעה על הבוקר.

בנוסף, ניתן לתזמן כך הזמנות לאירועים, ואף להזכיר לעצמכם דברים.

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

תכונות אחרות, כמו היכולת להציב תזכורות בראש תיבת המייל כמו פוסטים או קיבוץ הודעות בהתאם לנושא, לא הגיעו לג'ימייל. אינבוקס עדיין פעילה, אך ככל הנראה שעם הזמן יימחק האתר שלה והיא תוסר גם מחנות פליי. לא מעט משתמשים התרגלו לאינבוקס ומצרים על שגוגל בחרה לוותר עליה, ולא להטמיע בתוכה את ג'ימייל.


מקור
  • 170
  • היי שלום

    יש לי אירועים רבים [מדובר על אירועים של כמה שנים] ביומן גוגל שבכל אחד מהם רשום בתחילת האירוע שם הלקוח ובהמשך בין המלל יש את מספר / מספרי הטלפון.

    הצלחתי להגיע עם chat gpt לקוד שעובד מצויין בשבילי.
    הבעיה שזמן ריצת הסקריפט מוגבל לשש דקות והוא לא מספיק לעשות הכל.
    ניסיתי לחלק את זה למנות ולשחק עם התאריכים, כל פעם טווח של כמה חודשים. אבל משום מה הסקריפט לא מתייחס לטווח התאריכים הוא כל פעם מתחיל מהתחלה, גם מתאריכים שלפני הטווח.
    מצ"ב הסקריפט [הסימני שאלה הם כביכול הנתונים שלי, אני לא בטוח שחייבים את כל הקטע הראשון לדעתי עובד גם בלי, אבל לא חשוב כעת].
    אודה למי שיוכל לעזור לי.

    קוד:
    // הרשאות גוגל אנשי קשר
    var CONTACTS_SCOPE = 'https://www.googleapis.com/auth/contacts';
     
    // קוד OAuth2
    var contactsService = OAuth2.createService('contacts')
        .setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth')
        .setTokenUrl('https://accounts.google.com/o/oauth2/token')
        .setClientId('?')
        .setClientSecret('?')
        .setCallbackFunction('authCallback')
        .setPropertyStore(PropertiesService.getUserProperties())
        .setScope(CONTACTS_SCOPE);
     
    function authCallback(request) {
        try {
            var authorized = contactsService.handleCallback(request);
            if (authorized) {
                return HtmlService.createHtmlOutput('ההרשאה ניתנה בהצלחה!');
            } else {
                return HtmlService.createHtmlOutput('ההרשאה נדחתה. אנא נסה שוב.');
            }
        } catch (error) {
            Logger.log('Error in authCallback: ' + JSON.stringify(error));
            return HtmlService.createHtmlOutput('שגיאה במהלך ההרשאה. נא לבדוק את קובץ הלוג לקבלת מידע נוסף.');
        }
    }
     
    function authorizeContacts() {
        var authorizationUrl = contactsService.getAuthorizationUrl();
        return HtmlService.createHtmlOutput('<a href="' + authorizationUrl + '" target="_blank">הקלק כאן כדי לאשר את ההרשאה של אנשי קשר</a>.');
    }
     
    // פונקציה לבדיקה האם אדם כבר קיים
    function personExists(customerName) {
        var contacts = ContactsApp.getContactsByName(customerName);
        return contacts.length > 0;
    }
     
    // פונקציה ליצירת איש קשר
    function createContact(customerName, phoneNumbers) {
        // יצירת איש קשר חדש
        var newContact = ContactsApp.createContact(customerName, '', '');
     
        // הוספת מספרי טלפון
        for (var j = 0; j < phoneNumbers.length; j++) {
            newContact.addPhone(ContactsApp.Field.MOBILE_PHONE, phoneNumbers[j]);
        }
     
        Logger.log('נוצר איש קשר חדש: ' + customerName);
    }
     
    // פונקציה למציאת מספרי טלפון בטקסט
    function findPhoneNumbers(text) {
        var phoneNumberMatches = text.match(/\d{10}/g);
        return phoneNumberMatches ? phoneNumberMatches : [];
    }
     
    // הפעלת התהליך
    function processEvents() {
        // קבל את הלוח של המשתמש
        var calendar = CalendarApp.getDefaultCalendar();
     
        // קבל את כל האירועים מהלוח
        var startDate = new Date('2016-03-15T00:00:00Z');  // תאריך התחלה
        var endDate = new Date('2016-12-31T23:59:59Z');    // תאריך סיום
     
        // סינון אירועים לפי טווח תאריכים
        var eventsInRange = calendar.getEvents(startDate, endDate);
     
        // לולאה על כל אירוע בטווח התאריכים
        for (var i = 0; i < eventsInRange.length; i++) {
            var event = eventsInRange[i];
     
            // קבל את כותרת האירוע (שם הלקוח ומספרי הטלפון)
            var eventTitle = event.getTitle();
     
            // חלק את כותרת האירוע לשם הלקוח ומספרי הטלפון
            var eventTitleParts = eventTitle.split(" ");
            var customerName = eventTitleParts.slice(0, 2).join(" "); // שתי המילים הראשונות
            var phoneNumbers = findPhoneNumbers(eventTitle);
            Logger.log('Event Title: ' + eventTitle);
            Logger.log('Customer Name: ' + customerName);
            Logger.log('Phone Numbers: ' + phoneNumbers.join(', '));
     
            // אם יש שם לקוח ולפחות מספר טלפון
            if (customerName && phoneNumbers.length > 0) {
                // בדיקה אם האדם כבר קיים
                var personExists = checkIfPersonExists(customerName);
     
                // יצירת איש קשר
                createContact(customerName, phoneNumbers, personExists);
                Logger.log('Event Title: ' + eventTitle);
                Logger.log('Customer Name: ' + customerName);
                Logger.log('Phone Numbers: ' + phoneNumbers.join(', '));
     
                // השהייה בין קריאות לשירות
                Utilities.sleep(1000);  // 1 שניות
            }
        }
    }
     
    // בדיקה אם האדם כבר קיים
    function checkIfPersonExists(customerName) {
        var contacts = ContactsApp.getContactsByName(customerName);
        return contacts.length > 0;
    }
    0 תגובות

    אולי מעניין אותך גם...

    הצטרפות לניוזלטר

    איזה כיף שהצטרפתם לניוזלטר שלנו!

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

    לוח מודעות

    הפרק היומי

    הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


    תהילים פרק כה

    אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
    נקרא  2  פעמים
    למעלה