setup method
Creates a space and adds specified users to it.
The calling user is automatically added to the space, and shouldn't be
specified as a membership in the request. For an example, see
Set up a space.
To specify the human members to add, add memberships with the appropriate
member.name
in the SetUpSpaceRequest
. To add a human user, use
users/{user}
, where {user}
can be the email address for the user. For
users in the same Workspace organization {user}
can also be the id
for
the person from the People API, or the id
for the user in the Directory
API. For example, if the People API Person profile ID for
user@example.com
is 123456789
, you can add the user to the space by
setting the membership.member.name
to users/user@example.com
or
users/123456789
. For a space or group chat, if the caller blocks or is
blocked by some members, then those members aren't added to the created
space. To create a direct message (DM) between the calling user and
another human user, specify exactly one membership to represent the human
user. If one user blocks the other, the request fails and the DM isn't
created. To create a DM between the calling user and the calling app, set
Space.singleUserBotDm
to true
and don't specify any memberships. You
can only use this method to set up a DM with the calling app. To add the
calling app as a member of a space or an existing DM between two human
users, see
create a membership.
If a DM already exists between two users, even when one user blocks the
other at the time a request is made, then the existing DM is returned.
Spaces with threaded replies aren't supported. If you receive the error
message ALREADY_EXISTS
when setting up a space, try a different
displayName
. An existing space within the Google Workspace organization
might already use this display name. Requires
user authentication.
request
- The metadata request object.
Request parameters:
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a Space.
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<Space> setup(
SetUpSpaceRequest request, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
const url_ = 'v1/spaces:setup';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return Space.fromJson(response_ as core.Map<core.String, core.dynamic>);
}