【问题标题】:adding contact to existing group (people api migration)将联系人添加到现有组(人员 api 迁移)
【发布时间】:2021-06-11 22:22:12
【问题描述】:

尝试在几天后关闭之前从更简单的 Contact 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

提前致谢!

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

    显然,我很早就遇到了一个错误,我没有从 people 对象中提取“resourceName”。代码已在问题中更新。一旦解决了一切工作。我会留下这个,因为它不容易做对。

    【讨论】:

    • 为什么不继续做一个答案。它可能对某人有帮助。
    • @Cooper 我确实修复了原始帖子中的代码,但我没有在回答中说明这一点。立即修复。
    猜你喜欢
    • 2014-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多