Last active
July 19, 2022 20:40
-
-
Save Denperidge/e82855986ee0f4f21dbb75b731191022 to your computer and use it in GitHub Desktop.
Import contacts into a spreadsheet, if they have a label starting with {string}
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Import contacts with defined label, add them between colStart and colEnd, without adding ones that were previously added | |
*/ | |
function main() { | |
already_added = importContacts("Starred"); | |
importContacts("[0]", "F", "H", already_added); | |
} | |
function importContacts(groupname, colStart="A", colEnd="C", filter_out=[], maxMembers=50) { | |
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); | |
var groups = People.ContactGroups.list().contactGroups; | |
var group = groups.filter((x) => x.name.toLowerCase().startsWith(groupname.toLowerCase()))[0] | |
// maxMembers needs to be defined to get member resource names | |
var peopleResourceNames = People.ContactGroups.get(group.resourceName, {maxMembers: maxMembers}).memberResourceNames; | |
console.log("peopel resourcenames :") | |
console.log(peopleResourceNames) | |
console.log("fitlerout :") | |
console.log(filter_out) | |
peopleResourceNames = peopleResourceNames.filter((peopleRescourceName) => !filter_out.includes(peopleRescourceName)); | |
var responses = People.People.getBatchGet({"resourceNames": peopleResourceNames,"personFields": "photos,names"}).responses; | |
var output = []; | |
responses.forEach((response) => { | |
var person = response.person; | |
var name = person.names[0]; | |
output.push([`=image("${person.photos[0].url}")`, name.givenName, name.honorificSuffix]); | |
}); | |
var startIndex = 2; | |
spreadsheet.getRange(`${colStart}${startIndex}:${colEnd}${startIndex + output.length - 1}`).setValues(output); | |
return peopleResourceNames; // Return resource names to be used for filter_out | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment