קבלת רשימת אנשי קשר לפי תווית בגוגל סקריפט
-
יש לי קוד בגוגל סקריפט שמקבל שם של תווית באנש"ק ואוסף את כל כתובות המייל שמתויגות באותה התווית (לשליחה לקבוצות וכו')
רק שגוגל הודיעו שהם מסיימים את התמיכה בספריית אנשי הקשר בגוגל סקריפט ועוברים לשימוש בשירות המתקדם של אנשי הקשר.
חיפשתי כיצד לקבל את רשימת אנש"ק לפי קבוצה, והגעתי ל2 הפוסטים הללו בסטאק (1, 2) שמראים שישנה דרך, אבל אינני מצליח לממש את זה..
function getContacts113() { var response = People.ContactGroups.get({ "resourceName": "contactGroups/a", "maxMembers": 10, "personFields": "names,emailAddresses" }); Logger.log(response) }
-
@hp079 גם אני הסתבכתי עם זה בהתחלה, בעיקרון הבעיה היא שלא הבנתי שלא צריך את השם של התווית אלא את האיידי שלה (תוכל לראות את זה ע"י כניסה לתווית באתר של גוגל אנשי קשר בסוף הURL)
https://contacts.google.com/label/d77a5870934c44v?hl=iw
d77a5870934c44v
הקוד הזה מדפיס מערך של כתובות המייל של אנשי הקשר שבתווית שצוינה
function getContactsForGroup() { let idGroup = `d77a53456910c44b`; let group = People.ContactGroups.get(`contactGroups/${idGroup}`, { maxMembers: 200 }); Logger.log("group: " + group); let group_contacts = People.People.getBatchGet({ resourceNames: group.memberResourceNames, personFields: "emailAddresses" }); let emails = group_contacts.responses.map(x => { let emailObjects = x.person.emailAddresses; if (emailObjects != null) { return emailObjects.map(eo => eo.value); } }); Logger.log(emails); }
שים לב ל
maxMembers
בשורה הרביעית שמגדיר כמה אנשי קשר להחזיר. -
@hp079 בטח, לא יודע למה סתם סיבכתי מקודם..
function getContactsForGroup() { let name = `a` let people = People.ContactGroups.list(); let groupName = people['contactGroups'].find((group) => group['name'] === name); let resourceName = groupName.resourceName; let idGroup = resourceName.split('/').pop(); let group = People.ContactGroups.get(`contactGroups/${idGroup}`, { maxMembers: 200 }); Logger.log("group: " + group); let group_contacts = People.People.getBatchGet({ resourceNames: group.memberResourceNames, personFields: "emailAddresses" }); let emails = group_contacts.responses.map(x => { let emailObjects = x.person.emailAddresses; if (emailObjects != null) { return emailObjects.map(eo => eo.value); } }); Logger.log(emails) }
את a בשורה 2 עליך להחליף בשם התווית.