create method
- Membership request,
- String parent, {
- bool? useAdminAccess,
- 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.
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>,
);
}