这些是 People API 中 Contact API 搜索方法的良好替代品吗?
Is these a good replacement in People API for Contact API search method?
现在我们正在尝试用人员 API 替换联系人 API,这看起来很复杂。
首先,没有在所有联系人(联系人、其他联系人、域联系人)中搜索的方法。所以我们需要在三个不同的地方搜索并合并结果。或者我错过了什么?之前我们使用 service.getFeed(query, ContactFeed.class);
第二个问题是联系人 API 中的搜索方式与人员 API 中的搜索方式不同。 Contact API returns 所有包含提供的查询作为字段子字符串的联系人。仅包含以提供的查询开头的字段的人 API returns 联系人。
有人找到解决这些问题的方法吗?
更新 1:
在 People API 中,我们需要在三个不同的地方进行搜索:
https://developers.google.com/people/api/rest/v1/otherContacts/search - 在其他联系人列表中搜索;
https://developers.google.com/people/api/rest/v1/people/searchContacts - 在联系人列表中搜索;
https://developers.google.com/people/api/rest/v1/people/searchDirectoryPeople - 在用户的域目录中搜索;
这是一篇描述差异的文章:https://www.nylas.com/blog/google-people-api-vs-contacts-api-migration“解析联系信息”部分
更新2:
这是联系人 API、Java:
的代码
Query query = new Query(new URL("https://www.google.com/m8/feeds/contacts/default/full"));
query.setMaxResults(Integer.MAX_VALUE);
query.setFullTextQuery("du"); // query itself
contactsService.getFeed(query, ContactFeed.class).getEntries();
使用人员 API 你必须调用 3 个端点而不是像你对联系人所做的那样调用 1 个端点 API。
现在我们正在尝试用人员 API 替换联系人 API,这看起来很复杂。
首先,没有在所有联系人(联系人、其他联系人、域联系人)中搜索的方法。所以我们需要在三个不同的地方搜索并合并结果。或者我错过了什么?之前我们使用 service.getFeed(query, ContactFeed.class);
第二个问题是联系人 API 中的搜索方式与人员 API 中的搜索方式不同。 Contact API returns 所有包含提供的查询作为字段子字符串的联系人。仅包含以提供的查询开头的字段的人 API returns 联系人。
有人找到解决这些问题的方法吗?
更新 1: 在 People API 中,我们需要在三个不同的地方进行搜索:
https://developers.google.com/people/api/rest/v1/otherContacts/search - 在其他联系人列表中搜索; https://developers.google.com/people/api/rest/v1/people/searchContacts - 在联系人列表中搜索; https://developers.google.com/people/api/rest/v1/people/searchDirectoryPeople - 在用户的域目录中搜索;
这是一篇描述差异的文章:https://www.nylas.com/blog/google-people-api-vs-contacts-api-migration“解析联系信息”部分
更新2: 这是联系人 API、Java:
的代码Query query = new Query(new URL("https://www.google.com/m8/feeds/contacts/default/full"));
query.setMaxResults(Integer.MAX_VALUE);
query.setFullTextQuery("du"); // query itself
contactsService.getFeed(query, ContactFeed.class).getEntries();
使用人员 API 你必须调用 3 个端点而不是像你对联系人所做的那样调用 1 个端点 API。