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 with initial members.
To specify the human members to add, add memberships with the appropriate
membership.member.name
. 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 named space or group chat, if the caller blocks, or is blocked by
some members, or doesn't have permission to add 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
Invite or add a user or app to a space.
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>);
}