Usuwanie użytkownika lub aplikacji Google Chat z pokoju

Z tego przewodnika dowiesz się, jak użyć metody delete w zasobie membership interfejsu Google Chat API do usunięcia użytkownika lub aplikacji Google Chat z pokoju, co jest nazywane usuwaniem członkostwa. Menedżerów pokoju nie można usuwać, jeśli są jedynymi jego menedżerami w pokoju. Zanim usuniesz te członkostwo, przypisz innego użytkownika jako menedżera pokoju.

Zasób Membership wskazuje, czy użytkownik lub aplikacja Google Chat są zaproszone do pokoju, które jest jego częścią lub poza nim.

Wymagania wstępne

Python

  • Python 3.6 lub nowszy
  • Narzędzie do zarządzania pakietami pip
  • Najnowsze biblioteki klienta Google dla języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Projekt Google Cloud z włączonym i skonfigurowanym interfejsem Google Chat API. Instrukcje znajdziesz w artykule Tworzenie aplikacji Google Chat.
  • Autoryzacja dla aplikacji Google Chat została skonfigurowana. Usunięcie subskrypcji wymaga uwierzytelniania użytkownika z zakresem autoryzacji chat.memberships lub chat.memberships.app od użytkownika, który ma uprawnienia do usunięcia określonej subskrypcji.

Usuwanie użytkownika lub aplikacji do obsługi czatu z pokoju

Aby usunąć użytkownika lub aplikację do obsługi czatu z pokoju:

  • Aby usunąć użytkownika, określ zakres autoryzacji chat.memberships. Aby usunąć aplikację do obsługi czatu, określ zakres autoryzacji chat.memberships.app (aplikacje mogą usuwać tylko własne członkostwo, a nie inne aplikacje). Sprawdzoną metodą jest wybranie najbardziej restrykcyjnego zakresu, który nadal umożliwia działanie aplikacji.
  • Wywołaj metodę delete w zasobie membership.
  • Przekaż name subskrypcji, aby ją usunąć. Jeśli subskrypcja należy do jedynego menedżera pokoju w pokoju, zanim usuniesz tę subskrypcję, przypisz innego użytkownika jako menedżera pokoju.

Aby usunąć subskrypcję:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_membership_delete.py.
  2. Umieść ten kod w elemencie chat_membership_delete.py:

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.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.memberships.app"]
    
    def main():
        '''
        Authenticates with Chat API via user credentials,
        then deletes the specified membership.
        '''
    
        # Authenticate with Google Workspace
        # and get user authorization.
        flow = InstalledAppFlow.from_client_secrets_file(
                    'client_secrets.json', SCOPES)
        creds = flow.run_local_server()
    
        # 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()
    
  3. Zastąp w nim ten fragment kodu:

    • SPACE: nazwa pokoju, którą można uzyskać za pomocą metody spaces.list w interfejsie Chat API lub z adresu URL pokoju.

    • MEMBER: nazwa subskrypcji, którą można uzyskać za pomocą metody spaces.members.list w interfejsie Chat API. Aby usunąć subskrypcję aplikacji, zastąp MEMBER wartością app.

  4. W katalogu roboczym skompiluj i uruchom przykład:

    python3 chat_membership_delete.py
    

Jeśli operacja się uda, treść odpowiedzi zwróci członkostwo z wartością 'state': 'NOT_A_MEMBER', co oznacza, że użytkownika nie ma już w pokoju.

{
    "name": "spaces/SPACE/members/MEMBER",
    "state": "NOT_A_MEMBER"
}