diff --git a/AppsChat/samples/V1/ChatServiceClient/create_membership.php b/AppsChat/samples/V1/ChatServiceClient/create_membership.php index 56614600b280..05291a57e064 100644 --- a/AppsChat/samples/V1/ChatServiceClient/create_membership.php +++ b/AppsChat/samples/V1/ChatServiceClient/create_membership.php @@ -40,7 +40,8 @@ * authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). * * To specify the member to add, set the `membership.member.name` for the - * human or app member. + * human or app member, or set the `membership.group_member.name` for the + * group member. * * - To add the calling app to a space or a direct message between two human * users, use `users/app`. Unable to add other @@ -54,6 +55,15 @@ * the space by setting the `membership.member.name` to * `users/user@example.com` or `users/123456789`. * + * - To add or invite a Google group in a named space, use + * `groups/{group}`, where `{group}` is the `id` for the group from the Cloud + * Identity Groups API. For example, you can use [Cloud Identity Groups lookup + * API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) + * to retrieve the ID `123456789` for group email `group@example.com`, then + * you can add or invite the group to a named space by setting the + * `membership.group_member.name` to `groups/123456789`. Group email is not + * supported, and Google groups can only be added as members in named spaces. + * * @param string $formattedParent The resource name of the space for which to create the * membership. * diff --git a/AppsChat/samples/V1/ChatServiceClient/set_up_space.php b/AppsChat/samples/V1/ChatServiceClient/set_up_space.php index 0e5b293b5fb4..8aa0bb6cec83 100644 --- a/AppsChat/samples/V1/ChatServiceClient/set_up_space.php +++ b/AppsChat/samples/V1/ChatServiceClient/set_up_space.php @@ -44,6 +44,17 @@ * you can add the user to the space by setting the `membership.member.name` * to `users/user@example.com` or `users/123456789`. * + * To specify the Google groups to add, add memberships with the + * appropriate `membership.group_member.name`. To add or invite a Google + * group, use `groups/{group}`, where `{group}` is the `id` for the group from + * the Cloud Identity Groups API. For example, you can use [Cloud Identity + * Groups lookup + * API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) + * to retrieve the ID `123456789` for group email `group@example.com`, then + * you can add the group to the space by setting the + * `membership.group_member.name` to `groups/123456789`. Group email is not + * supported, and Google groups can only be added as members in named spaces. + * * 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. diff --git a/AppsChat/src/Chat/V1/Client/ChatServiceClient.php b/AppsChat/src/Chat/V1/Client/ChatServiceClient.php index e99c03976b68..35fce2b82b35 100644 --- a/AppsChat/src/Chat/V1/Client/ChatServiceClient.php +++ b/AppsChat/src/Chat/V1/Client/ChatServiceClient.php @@ -483,7 +483,8 @@ public function completeImportSpace( * authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). * * To specify the member to add, set the `membership.member.name` for the - * human or app member. + * human or app member, or set the `membership.group_member.name` for the + * group member. * * - To add the calling app to a space or a direct message between two human * users, use `users/app`. Unable to add other @@ -497,6 +498,15 @@ public function completeImportSpace( * the space by setting the `membership.member.name` to * `users/user@example.com` or `users/123456789`. * + * - To add or invite a Google group in a named space, use + * `groups/{group}`, where `{group}` is the `id` for the group from the Cloud + * Identity Groups API. For example, you can use [Cloud Identity Groups lookup + * API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) + * to retrieve the ID `123456789` for group email `group@example.com`, then + * you can add or invite the group to a named space by setting the + * `membership.group_member.name` to `groups/123456789`. Group email is not + * supported, and Google groups can only be added as members in named spaces. + * * The async variant is {@see ChatServiceClient::createMembershipAsync()} . * * @example samples/V1/ChatServiceClient/create_membership.php @@ -1162,6 +1172,17 @@ public function listSpaces(ListSpacesRequest $request, array $callOptions = []): * you can add the user to the space by setting the `membership.member.name` * to `users/user@example.com` or `users/123456789`. * + * To specify the Google groups to add, add memberships with the + * appropriate `membership.group_member.name`. To add or invite a Google + * group, use `groups/{group}`, where `{group}` is the `id` for the group from + * the Cloud Identity Groups API. For example, you can use [Cloud Identity + * Groups lookup + * API](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) + * to retrieve the ID `123456789` for group email `group@example.com`, then + * you can add the group to the space by setting the + * `membership.group_member.name` to `groups/123456789`. Group email is not + * supported, and Google groups can only be added as members in named spaces. + * * 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. diff --git a/AppsChat/src/Chat/V1/Membership.php b/AppsChat/src/Chat/V1/Membership.php index 87288062d418..f62c182830dc 100644 --- a/AppsChat/src/Chat/V1/Membership.php +++ b/AppsChat/src/Chat/V1/Membership.php @@ -79,8 +79,6 @@ class Membership extends \Google\Protobuf\Internal\Message * `name` and `type`. * @type \Google\Apps\Chat\V1\Group $group_member * The Google Group the membership corresponds to. - * Only supports read operations. Other operations, like - * creating or updating a membership, aren't currently supported. * @type \Google\Protobuf\Timestamp $create_time * Optional. Immutable. The creation time of the membership, such as when a * member joined or was invited to join a space. This field is output only, @@ -223,8 +221,6 @@ public function setMember($var) /** * The Google Group the membership corresponds to. - * Only supports read operations. Other operations, like - * creating or updating a membership, aren't currently supported. * * Generated from protobuf field .google.chat.v1.Group group_member = 5; * @return \Google\Apps\Chat\V1\Group|null @@ -241,8 +237,6 @@ public function hasGroupMember() /** * The Google Group the membership corresponds to. - * Only supports read operations. Other operations, like - * creating or updating a membership, aren't currently supported. * * Generated from protobuf field .google.chat.v1.Group group_member = 5; * @param \Google\Apps\Chat\V1\Group $var diff --git a/AppsChat/src/Chat/V1/SetUpSpaceRequest.php b/AppsChat/src/Chat/V1/SetUpSpaceRequest.php index 4cd10ee2c3b6..7f7313f13d2c 100644 --- a/AppsChat/src/Chat/V1/SetUpSpaceRequest.php +++ b/AppsChat/src/Chat/V1/SetUpSpaceRequest.php @@ -50,8 +50,8 @@ class SetUpSpaceRequest extends \Google\Protobuf\Internal\Message */ protected $request_id = ''; /** - * Optional. The Google Chat users to invite to join the space. Omit the - * calling user, as they are added automatically. + * Optional. The Google Chat users or groups to invite to join the space. Omit + * the calling user, as they are added automatically. * The set currently allows up to 20 memberships (in addition to the caller). * For human membership, the `Membership.member` field must contain a `user` * with `name` populated (format: `users/{user}`) and `type` set to @@ -61,6 +61,9 @@ class SetUpSpaceRequest extends \Google\Protobuf\Internal\Message * for {user}. For example, the `user.name` can be `users/example@gmail.com`. * To invite Gmail users or users from external Google Workspace domains, * user's email must be used for `{user}`. + * For Google group membership, the `Membership.group_member` field must + * contain a `group` with `name` populated (format `groups/{group}`). You + * can only add Google groups when setting `Space.spaceType` to `SPACE`. * Optional when setting `Space.spaceType` to `SPACE`. * Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at * least two memberships. @@ -107,8 +110,8 @@ class SetUpSpaceRequest extends \Google\Protobuf\Internal\Message * Specifying an existing request ID from the same Chat app with a different * authenticated user returns an error. * @type array<\Google\Apps\Chat\V1\Membership>|\Google\Protobuf\Internal\RepeatedField $memberships - * Optional. The Google Chat users to invite to join the space. Omit the - * calling user, as they are added automatically. + * Optional. The Google Chat users or groups to invite to join the space. Omit + * the calling user, as they are added automatically. * The set currently allows up to 20 memberships (in addition to the caller). * For human membership, the `Membership.member` field must contain a `user` * with `name` populated (format: `users/{user}`) and `type` set to @@ -118,6 +121,9 @@ class SetUpSpaceRequest extends \Google\Protobuf\Internal\Message * for {user}. For example, the `user.name` can be `users/example@gmail.com`. * To invite Gmail users or users from external Google Workspace domains, * user's email must be used for `{user}`. + * For Google group membership, the `Membership.group_member` field must + * contain a `group` with `name` populated (format `groups/{group}`). You + * can only add Google groups when setting `Space.spaceType` to `SPACE`. * Optional when setting `Space.spaceType` to `SPACE`. * Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at * least two memberships. @@ -240,8 +246,8 @@ public function setRequestId($var) } /** - * Optional. The Google Chat users to invite to join the space. Omit the - * calling user, as they are added automatically. + * Optional. The Google Chat users or groups to invite to join the space. Omit + * the calling user, as they are added automatically. * The set currently allows up to 20 memberships (in addition to the caller). * For human membership, the `Membership.member` field must contain a `user` * with `name` populated (format: `users/{user}`) and `type` set to @@ -251,6 +257,9 @@ public function setRequestId($var) * for {user}. For example, the `user.name` can be `users/example@gmail.com`. * To invite Gmail users or users from external Google Workspace domains, * user's email must be used for `{user}`. + * For Google group membership, the `Membership.group_member` field must + * contain a `group` with `name` populated (format `groups/{group}`). You + * can only add Google groups when setting `Space.spaceType` to `SPACE`. * Optional when setting `Space.spaceType` to `SPACE`. * Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at * least two memberships. @@ -269,8 +278,8 @@ public function getMemberships() } /** - * Optional. The Google Chat users to invite to join the space. Omit the - * calling user, as they are added automatically. + * Optional. The Google Chat users or groups to invite to join the space. Omit + * the calling user, as they are added automatically. * The set currently allows up to 20 memberships (in addition to the caller). * For human membership, the `Membership.member` field must contain a `user` * with `name` populated (format: `users/{user}`) and `type` set to @@ -280,6 +289,9 @@ public function getMemberships() * for {user}. For example, the `user.name` can be `users/example@gmail.com`. * To invite Gmail users or users from external Google Workspace domains, * user's email must be used for `{user}`. + * For Google group membership, the `Membership.group_member` field must + * contain a `group` with `name` populated (format `groups/{group}`). You + * can only add Google groups when setting `Space.spaceType` to `SPACE`. * Optional when setting `Space.spaceType` to `SPACE`. * Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at * least two memberships.