Hello I need to update a created contact and remove from all earlier groups assigned. In this example a contact is created and it is later moved to Carpenter and now the actial question begins
How do I move a created contact to a different group. That is I need the contact to be moved to BLACKSMITHS group if that doesnt exist create BLACKSMITHS and assign BLACKSMITHS and remove from earlier assigned CARPENTERS
function doGet(e) {
// 1. CREATE CONTACT:
var contactResource = {
"names": [{
"displayNameLastFirst": "Smith Jefferson Jones",
"familyName": "Jones",
}],
/* "phoneNumbers": [{
'value': "+12345679962"
}],
"emailAddresses": [{
'value': ' '
}]*/
}
var contactResourceName = People.People.createContact(contactResource)["resourceName"];
// 2. CHECK IF GROUP EXISTS:
var groupName = "CARPENTERS";
var groups = People.ContactGroups.list()["contactGroups"];
var group = groups.find(group => group["name"] === groupName);
// 3. CREATE GROUP IF DOESN'T EXIST:
if (!group) {
var groupResource = {
contactGroup: {
name: groupName
}
}
group = People.ContactGroups.create(groupResource);
}
var groupResourceName = group["resourceName"];
// 4. ADD CONTACT TO GROUP:
var membersResource = {
"resourceNamesToAdd": [
contactResourceName
]
}
//HOW DO I MODIFY A CONTACT so that its must be removed from "CARPENTERS" group and ADDED TO "BLACKSMITHS" group
//??????????????????
People.ContactGroups.Members.modify(membersResource, groupResourceName);
return ContentService.createTextOutput("Success");
}
You just need to:
BLACKSMITHS
), the way you did it in the code you shared.CARPENTERS
), using resourceNamesToRemove
at contactGroups.members.modify.Check the example below.
// 1. Create Blacksmiths group if doesn't exist, add contact to group:
var groupNameToAdd = "BLACKSMITHS";
var groupToAdd = groups.find(group => group["name"] === groupNameToAdd);
if (!groupToAdd) { // Create group if doesn't exist
var groupToAddResource = {
contactGroup: {
name: groupNameToAdd
}
}
groupToAdd = People.ContactGroups.create(groupToAddResource);
}
var groupToAddResourceName = groupToAdd["resourceName"];
var membersToAddResource = {
"resourceNamesToAdd": [
contactResourceName
]
}
People.ContactGroups.Members.modify(membersToAddResource, groupToAddResourceName);
// 2. Remove contact from Carpenters:
var groupNameToRemove = "CARPENTERS";
var groupToRemove = groups.find(group => group["name"] === groupNameToRemove);
if (groupToRemove) { // Check that group exists
var groupToRemoveResourceName = groupToRemove["resourceName"];
var membersToRemoveResource = {
"resourceNamesToRemove": [
contactResourceName
]
}
People.ContactGroups.Members.modify(membersToRemoveResource, groupToRemoveResourceName);
}