עזרה בשימוש ב gmail API ב google script
-
יש לי את הסקריפט של המייל לטלפון שפועל באופן שהודעות חדשות נכנסות לתווית X וע"ז רץ הסקריפט, הבעיה שהרבה אנשים מסתבכים ביצירת המסנן בג'ימיייל שיסמן את ההודעות החדשות לתווית.
אז אני רוצה להוסיף להתקנה גם את יצירת התווית עצמה (שזה לא בעיה) כולל המסנן (שזה בעיה), בשביל ליצור צריך להשתמש בספריית gmail API בגוגל סקריפט.
אני מנסה לכתוב את הקוד הבא לפי התיעוד כאן, אבל זה לא עובד, אשמח לעזרה היכן שגיתי.
function createFilter() { try { let response = Gmail.Users.Settings.Filters.create; ({ "userId": "me", "action": { "addLabelIds": [ "Label_8229181585539502019" ] }, "criteria": { "size": 1, "sizeComparison": "larger" }, "id": "me" }); Logger.log(response) } catch (err) { console.log(err); } }
אציין שהמערך עצמו עובד בסנדבוקס של גוגל קלאוד.
200 OK { "id": "ANe1BmiMfvNEx0BYJhTcCbMbFYeXKn6_wCHt-dJHVCBRCQ", "criteria": { "size": 1, "sizeComparison": "larger" }, "action": { "addLabelIds": [ "Label_8893487077437577980" ] } }
-
@אביי
העבודה עם השירות GMAIL API היא ככהfunction createFilter (){ const filter = Gmail.newFilter(); filter.action = Gmail.newFilterAction(); filter.action.addLabelIds = "Label_8229181585539502019"; filter.criteria = Gmail.newFilterCriteria(); filter.criteria.size = 1; filter.criteria.sizeComparison = "larger"; filter.id = "me"; Gmail.Users.Settings.Filters.create(filter,'me'); }
אני בכללי לא אוהב לעבוד עם שירות GMAIL API אני עושה קריאה לכתובת של ה API ישירות ככה
function createFilter (){ const url = "https://gmail.googleapis.com/gmail/v1/users/me/settings/filters"; const payload = { id: "me", criteria:{ size: 1, sizeComparison: "larger" }, action:{ addLabelIds:[ "Label_8229181585539502019" ] } }; const params = { method: "POST", contentType: "application/json", payload: JSON.stringify(payload), headers:{Authorization: "Bearer "+ ScriptApp.getOAuthToken()}, muteHttpExceptions:true }; const results = UrlFetchApp.fetch(url, params); }
לא בדקתי את הקודים אבל זה הרעיון
אגב אני חושב שהרבה יותר תקני ויותר נעים לעין לסנן את המיילים לפי כתובת id -
@אביי כתב בעזרה בשימוש ב gmail API ב google script:
@מנצפכ כתב בעזרה בשימוש ב gmail API ב google script:
לסנן את המיילים לפי כתובת id
?
הכוונה שבסקריפט תיצור את המסנן שלך שזה אומר שהוא יחפש רק את "size:1" ויישמור את ה ID של ההודעה שמצא ובפעם הבאה שיסנן מיילים יוסיף לסינון את המיילים שהכתובת ID שלהם שמורה