首页 > 解决方案 > google-apps-script ContactsApp.getContact(email) 迁移到 People API

问题描述

如何写这个简单的行:

ContactsApp.getContact(email);

使用新的 People API?

非常感谢 !

标签: google-apps-script

解决方案


工作流程:

  • 使用people.connections.list获取请求用户的联系人列表,通过resourceName(people/me指经过身份验证的用户) 指定。
  • 查找拥有与您要查找的电子邮件地址类似的电子邮件地址的联系人。

重要笔记:

  • 自然,您不会得到与 中完全相同的信息ContactsApp.getContact,因为它们是不同的 API。在这种情况下,您将获得Person 资源的一个实例。
  • 您可以使用(请参阅此处personFields的可用字段列表)选择应在检索到的人员上填充哪些信息。通过提供逗号分隔的字段字符串来请求多个字段(在下面的示例中,并且被请求)。emailAddressesbiographies

代码示例:

function getPerson(email) {
  const resourceName = "people/me";
  const optionalArgs = {
    personFields: 'emailAddresses,biographies' // Add the person fields you want
  }
  const response = People.People.Connections.list(resourceName, optionalArgs);
  const { connections } = response;
  const person = connections.find(connection => {
    return connection["emailAddresses"] && connection["emailAddresses"].some(emailAddress => emailAddress["value"] === email);
  });
  return person;
}

推荐阅读