search method

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

Provides a list of contacts in the authenticated user's other contacts that matches the search query.

The query matches on a contact's names, emailAddresses, and phoneNumbers fields that are from the OTHER_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/other-contacts#search_the_users_other_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: * emailAddresses * metadata * names * phoneNumbers

$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> search({
  core.int? pageSize,
  core.String? query,
  core.String? readMask,
  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 ($fields != null) 'fields': [$fields],
  };

  const url_ = 'v1/otherContacts:search';

  final response_ = await _requester.request(
    url_,
    'GET',
    queryParams: queryParams_,
  );
  return SearchResponse.fromJson(
      response_ as core.Map<core.String, core.dynamic>);
}