В этом руководстве объясняется, как использовать метод delete() ресурса Membership API Google Chat для удаления участников из чат-группы, что также называется удалением членства. Менеджеров чат-группы нельзя удалить, если они являются единственными менеджерами в чат-группе. Перед удалением этих членств назначьте другого пользователя менеджером чат-группы.
Если вы являетесь администратором Google Workspace, вы можете удалять пользователей, группы Google или приложения чата из любого пространства в вашей организации Google Workspace.
Ресурс Membership показывает, приглашен ли пользователь-человек или приложение Google Chat в пространство, является его частью или отсутствует в нем.
Предпосылки
Node.js
- Учетная запись Google Workspace Business или Enterprise с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения Chat.
- Установите облачную клиентскую библиотеку Node.js.
- Создайте учетные данные для доступа на основе того, как вы хотите выполнить аутентификацию в своем запросе API Google Chat:
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
credentials.jsonв локальном каталоге. - Чтобы выполнить аутентификацию в приложении Chat, создайте учетные данные сервисной учетной записи и сохраните их как JSON-файл с именем
credentials.json.
- Чтобы пройти аутентификацию в качестве пользователя чата, создайте учетные данные идентификатора клиента OAuth и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы пройти аутентификацию как пользователь или как приложение чата.
- Пространство Google Chat. Чтобы создать его с помощью API Google Chat, см. раздел Создание пространства . Чтобы создать пространство в Chat, посетите документацию Справочного центра .
Удалить участника из пространства как пользователя
Чтобы удалить пользователя, группу Google или приложение чата из пространства с аутентификацией пользователя , передайте в запросе следующее:
- Укажите область авторизации
chat.memberships. Авторизующий пользователь должен иметь разрешение на удаление пользователя или группы Google из чат-группы. Чтобы удалить приложение Chat, укажите область авторизацииchat.memberships.app(приложения могут удалять только свои подписки, но не подписки других приложений). Рекомендуется выбрать самую строгую область авторизации, при которой ваше приложение сможет продолжать работать. - Вызовите метод
DeleteMembership(). - Передайте
nameудаляемого членства. Если членство принадлежит единственному менеджеру пространства, назначьте другого пользователя менеджером пространства, прежде чем удалять это членство.
Вот как удалить членство с аутентификацией пользователя :
Node.js
Чтобы запустить этот пример, замените следующее:
-
SPACE_NAME: идентификатор изnameпространства. Идентификатор можно получить, вызвав методListSpaces()или указав URL пространства. -
MEMBER_NAME: идентификатор, полученный изnameучастника. Идентификатор можно получить, вызвав методListMemberships().
В случае успеха тело ответа возвращает членство со значением 'state': 'NOT_A_MEMBER' , что указывает на то, что участник больше не находится в пространстве.
{
"name": "spaces/SPACE_NAME/members/MEMBER_NAME",
"state": "NOT_A_MEMBER"
}
Удалить участника из пространства как чат-приложения
Аутентификация приложения требует однократного одобрения администратора .
Чтобы удалить пользователя, группу Google или приложение чата из пространства с аутентификацией приложения , передайте в запросе следующее:
- Укажите область авторизации
chat.app.memberships. Удаление членства менеджера пространства поддерживается только в пространствах, созданных приложениями Chat. - Вызовите метод
deleteдля ресурсаmembership. - Передайте
nameудаляемого членства. Если членство принадлежит единственному менеджеру пространства, назначьте другого пользователя менеджером пространства, прежде чем удалять это членство.
Напишите скрипт, который вызывает Chat API
Вот как удалить членство с аутентификацией через приложение :
Питон
- В рабочем каталоге создайте файл с именем
chat_membership_delete_app.py. Включите следующий код в
chat_membership_delete_app.py:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships"] def main(): ''' Authenticates with Chat API using app authentication, then deletes the specified membership. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().delete( # The membership to delete. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBER with a membership name. # Obtain the membership name from the memberships resource of # Chat API. To delete a Chat app's membership, replace MEMBER # with app; an alias for the app calling the API. name='spaces/SPACE/members/MEMBER' ).execute() # Print Chat API's response in your command line interface. # When deleting a membership, the response body is empty. print(result) if __name__ == '__main__': main()В коде замените следующее:
SPACE: имя пространства, которое можно получить из методаspaces.listв API чата или из URL-адреса пространства.MEMBER: имя участника, которое можно получить с помощью методаspaces.members.listв API чата. Чтобы удалить участника приложения, заменитеMEMBERнаapp.
В вашем рабочем каталоге соберите и запустите пример:
python3 chat_membership_delete_app.py
В случае успеха тело ответа возвращает членство со значением 'state': 'NOT_A_MEMBER' , что указывает на то, что участник больше не находится в пространстве.
{
"name": "spaces/SPACE/members/MEMBER",
"state": "NOT_A_MEMBER"
}
Удалять пользователей или группы Google из пространства как администратор Google Workspace
Если вы являетесь администратором Google Workspace, вы можете вызвать метод DeleteMembership() , чтобы удалить пользователей, группы Google или приложения чата из любого пространства в вашей организации Google Workspace.
Чтобы вызвать этот метод от имени администратора Google Workspace, выполните следующие действия:
- Вызовите метод, используя аутентификацию пользователя, и укажите область авторизации , которая поддерживает вызов метода с использованием привилегий администратора .
- В запросе укажите параметр запроса
useAdminAccessвtrue.
Дополнительную информацию и примеры см. в статье Управление пространствами Google Chat в качестве администратора Google Workspace .
Ограничения и соображения
- При аутентификации приложения приложение Chat может удалять пользователей, но не приложения Google Groups или Chat.
Похожие темы
- Получите подробную информацию о членстве пользователя или чат-приложения .
- Перечислите участников в пространстве .
- Обновите членство пользователя в чат-пространстве Google .
- Пригласите или добавьте пользователя или чат-приложение в пространство .