create method

Future<Membership> create(
  1. Membership request,
  2. String parent, {
  3. bool? useAdminAccess,
  4. String? $fields,
})

Creates a membership for the calling Chat app, a user, or a Google Group.

Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of authentication:

App authentication with administrator approval and the authorization scope: - https://www.googleapis.com/auth/chat.app.memberships - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships - https://www.googleapis.com/auth/chat.memberships.app (to add the calling app to the space) - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used: - https://www.googleapis.com/auth/chat.admin.memberships App authentication is not supported for the following use cases: - Inviting users external to the Workspace organization that owns the space. - Adding a Google Group to a space. - Adding a Chat app to a space. For example usage, see: - Invite or add a user to a space.

Invite or add a Google Group to a space.

Add the Chat app to a space.

request - The metadata request object.

Request parameters:

parent - Required. The resource name of the space for which to create the membership. Format: spaces/{space} Value must have pattern ^spaces/\[^/\]+$.

useAdminAccess - Optional. When true, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the manage chat and spaces conversations privilege. Requires the chat.admin.memberships OAuth 2.0 scope. Creating app memberships or creating memberships for users outside the administrator's Google Workspace organization isn't supported using admin access.

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

Completes with a Membership.

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

  final url_ = 'v1/' + core.Uri.encodeFull('$parent') + '/members';

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