首页 > 解决方案 > 使用 People API 根据电子邮件地址搜索联系人

问题描述

有什么方法可以确定用户联系人是否包含具有特定电子邮件地址的条目?

目前,人员 API 仅允许获取特定联系人(基于 resourceName - https://developers.google.com/people/api/rest/v1/people/get)或列出所有现有联系人(https://developers.google .com/people/api/rest/v1/people.connections/list)。

我想知道用户是否在联系人中有特定的电子邮件。是否可以不列出所有现有联系人并迭代此列表?你知道任何解决方法吗?

标签: javagoogle-apigoogle-people-api

解决方案


您需要使用该类搜索联系人PeopleService.People.SearchContacts。您需要使用提供的特定电子邮件地址设置查询。查询匹配联系人的namesnickNamesemailAddressesphoneNumbersorganizations来自 CONTACT 源的字段。

PeopleService service = new PeopleService.Builder(HTTP_TRANSPORT, JSON_FACTORY, getCredentials(HTTP_TRANSPORT))
        .setApplicationName(APPLICATION_NAME)
        .build();

// Request lorem@ipsum.com
SearchResponse response = service.people()
        .searchContacts()
        .setQuery("lorem@ipsum.com")
        .setPageSize(10)
        .setPersonFields("names,emailAddresses")
        .execute();

推荐阅读