尝试在几天后关闭之前将所有这些东西从简单得多的联系人API中迁移出来。我现在可以添加人,但将他们添加到公司范围内共享的群组中不起作用。
// https://stackoverflow.com/questions/64095816/add-a-created-contact-to-a-group-by-people-api-using-google-apps-script
function createContactLead(lead) {
var contactResource = {
"names": [{
"displayNameLastFirst": lead["FirstName"] + " " + lead["LastName"],
"familyName": lead["LastName"],
"givenName" : lead["FirstName"]
}],
"phoneNumbers": [{
'value': lead["Phone"],
'type' : 'mobile',
}],
"emailAddresses": [{
'value': lead["Email"]
}],
"addresses": [{
"city": lead["city"],
"region": lead["state"]
}],
}
var peopleResource = People.People.createContact(contactResource);
var contactResourceName = peopleResource["resourceName"];
groupName = "Leads (Shared)";
var groups = People.ContactGroups.list()["contactGroups"];
var group = groups.find(group => group["name"] === groupName);
console.log(group);
var groupResourceName = group["resourceName"];
console.log("group resource name %s", groupResourceName);
var membersResource = {
"resourceNamesToAdd": [
contactResourceName
]
}
People.ContactGroups.Members.modify(membersResource, groupResourceName);
}它肯定会找到组,但试图修改它会导致“'resource_names_to_add‘(resource_names_to_add)的值无效,在标量字段上启动一个对象”
Execution log
12:34:02 PM Notice Execution started
12:34:03 PM Info { formattedName: 'Leads (Shared)',
groupType: 'USER_CONTACT_GROUP',
metadata: { updateTime: '2021-02-08T17:56:34.066Z' },
name: 'Leads (Shared)',
memberCount: 89,
etag: 'XadlO6et7QY=',
resourceName: 'contactGroups/27ee381f0e7d94e7' }
12:34:03 PM Info group resource name contactGroups/27ee381f0e7d94e7
12:34:03 PM Error
GoogleJsonResponseException: API call to people.contactGroups.members.modify failed with error: Invalid value at 'resource_names_to_add' (resource_names_to_add), Starting an object on a scalar field
createContactLead @ test.gs:41
driver @ test.gs:68提前感谢!
发布于 2021-06-11 02:04:25
显然,我在早期有一个bug,我没有从people对象中取出"resourceName“。此后,问题中的代码已更新。一旦解决了这个问题,一切都会正常工作。我会把它留下来,因为它不容易得到正确的。
https://stackoverflow.com/questions/67925326
复制相似问题