searchContacts method

Future<SearchResponse> searchContacts({
  1. int? pageSize,
  2. String? query,
  3. String? readMask,
  4. List<String>? sources,
  5. String? $fields,
})

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>);
}