create method

Future<Delegate> create(
  1. Delegate request,
  2. String userId, {
  3. String? $fields,
})

Adds a delegate with its verification status set directly to accepted, without sending any verification email.

The delegate user must be a member of the same Google Workspace organization as the delegator user. Gmail imposes limitations on the number of delegates and delegators each user in a Google Workspace organization can have. These limits depend on your organization, but in general each user can have up to 25 delegates and up to 10 delegators. Note that a delegate user must be referred to by their primary email address, and not an email alias. Also note that when a new delegate is created, there may be up to a one minute delay before the new delegate is available for use. This method is only available to service account clients that have been delegated domain-wide authority.

request - The metadata request object.

Request parameters:

userId - User's email address. The special value "me" can be used to indicate the authenticated user.

$fields - Selector specifying which fields to include in a partial response.

Completes with a Delegate.

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<Delegate> create(
  Delegate request,
  core.String userId, {
  core.String? $fields,
}) async {
  final body_ = convert.json.encode(request);
  final queryParams_ = <core.String, core.List<core.String>>{
    if ($fields != null) 'fields': [$fields],
  };

  final url_ = 'gmail/v1/users/' +
      commons.escapeVariable('$userId') +
      '/settings/delegates';

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