В этом руководстве объясняется, как использовать метод delete() ресурса Membership API Google Chat для удаления участников из пространства, также известного как удаление членства. Менеджеров пространства нельзя удалить, если они являются единственными менеджерами пространства. Перед удалением этих членств назначьте другого пользователя менеджером пространства.
Если вы являетесь администратором Google Workspace, вы можете удалять пользователей, группы Google или приложения чата из любого пространства в вашей организации Google Workspace.
Ресурс Membership показывает, приглашен ли пользователь (человек или приложение Google Chat) в данное пространство, является ли он его частью или отсутствует.
Предварительные требования
Node.js
- Корпоративный аккаунт Google Workspace с доступом к Google Chat .
- Настройте свою среду:
- Создайте проект в Google Cloud .
- Настройте экран согласия OAuth .
- Включите и настройте API Google Chat, указав имя, значок и описание для вашего приложения чата.
- Установите библиотеку Node.js Cloud Client .
- Создайте учетные данные доступа в зависимости от того, как вы хотите аутентифицироваться в запросе к Google Chat API:
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
credentials.jsonв локальной директории. - Для аутентификации в приложении «Чат» создайте учетные данные сервисной учетной записи и сохраните их в JSON-файле с именем
credentials.json.
- Для аутентификации в качестве пользователя чата создайте учетные данные OAuth-клиента и сохраните их в виде JSON-файла с именем
- Выберите область авторизации в зависимости от того, хотите ли вы аутентифицироваться как пользователь или как приложение чата.
- Пространство Google Chat. Чтобы создать его с помощью API Google Chat, см. раздел «Создание пространства» . Чтобы создать пространство в самом чате, посетите документацию в Справочном центре .
Удалить участника из пространства от имени пользователя.
Чтобы удалить пользователя, группу Google или приложение чата из пространства с аутентификацией пользователя , передайте в запросе следующее:
- Укажите область авторизации
chat.memberships. Авторизующий пользователь должен иметь разрешение на удаление пользователя или группы Google из пространства. Чтобы удалить приложение чата, укажите область авторизации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. Удаление членства администратора пространства поддерживается только в пространствах, созданных приложениями для чата. - Вызовите метод
deleteдля ресурсаmembership. - Укажите
nameпользователя, которого нужно удалить. Если членство принадлежит единственному администратору пространства в пространстве, перед удалением этого членства назначьте другого пользователя администратором пространства.
Напишите скрипт, который вызывает API чата.
Вот как удалить учетную запись с аутентификацией через приложение :
Python
- В рабочей директории создайте файл с именем
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» .
Ограничения и соображения
- Благодаря аутентификации в приложении , чат-приложение может удалять пользователей, но не группы Google или другие чат-приложения.
Связанные темы
- Получите подробную информацию о членстве пользователя или приложения для чата .
- Список участников в пространстве .
- Обновить членство пользователя в пространстве Google Chat .
- Пригласите или добавьте пользователя или приложение для чата в пространство .