createContact method
Create a new contact and return the person resource for that contact.
The request returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.
request
- The metadata request object.
Request parameters:
personFields
- Required. A field mask to restrict which fields on each
person are returned. Multiple fields can be specified by separating them
with commas. Defaults to all fields if not set. 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 and READ_SOURCE_TYPE_PROFILE if not set.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Person.
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<Person> createContact(
Person request, {
core.String? personFields,
core.List<core.String>? sources,
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if (personFields != null) 'personFields': [personFields],
if (sources != null) 'sources': sources,
if ($fields != null) 'fields': [$fields],
};
const url_ = 'v1/people:createContact';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Person.fromJson(response_ as core.Map<core.String, core.dynamic>);
}