searchContacts method
Provides a list of contacts in the authenticated user's grouped contacts that matches the search query.
The query matches on a contact's names
, nickNames
, emailAddresses
,
phoneNumbers
, and organizations
fields that are from the CONTACT
source. IMPORTANT: Before searching, clients should send a warmup
request with an empty query to update the cache. See
https://developers.google.com/people/v1/contacts#search_the_users_contacts
Request parameters:
pageSize
- Optional. The number of results to return. Defaults to 10 if
field is not set, or set to 0. Values greater than 30 will be capped to
30.
query
- Required. The plain-text query for the request. The query is
used to match prefix phrases of the fields on a person. For example, a
person with name "foo name" matches queries such as "f", "fo", "foo", "foo
n", "nam", etc., but not "oo n".
readMask
- Required. A field mask to restrict which fields on each
person are returned. Multiple fields can be specified by separating them
with commas. Valid values are: * addresses * ageRanges * biographies *
birthdays * calendarUrls * clientData * coverPhotos * emailAddresses *
events * externalIds * genders * imClients * interests * locales *
locations * memberships * metadata * miscKeywords * names * nicknames *
occupations * organizations * phoneNumbers * photos * relations *
sipAddresses * skills * urls * userDefined
sources
- Optional. A mask of what source types to return. Defaults to
READ_SOURCE_TYPE_CONTACT if not set.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a SearchResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<SearchResponse> searchContacts({
core.int? pageSize,
core.String? query,
core.String? readMask,
core.List<core.String>? sources,
core.String? $fields,
}) async {
final queryParams_ = <core.String, core.List<core.String>>{
if (pageSize != null) 'pageSize': ['${pageSize}'],
if (query != null) 'query': [query],
if (readMask != null) 'readMask': [readMask],
if (sources != null) 'sources': sources,
if ($fields != null) 'fields': [$fields],
};
const url_ = 'v1/people:searchContacts';
final response_ = await _requester.request(
url_,
'GET',
queryParams: queryParams_,
);
return SearchResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}