Usuwanie osoby z pokoju

Z tego przewodnika dowiesz się, jak za pomocą metody delete() w zasobach Membership interfejsu API Google Chat usuwać użytkowników z pokoju, czyli usuwać ich członkostwo. Menedżera pokoju nie można usunąć, jeśli jest on jedynym menedżerem pokoju. Zanim usuniesz te członkostwa, przypisz do pokoju innego użytkownika jako menedżera.

Jeśli jesteś administratorem Google Workspace, możesz usunąć użytkowników, Grupy dyskusyjne Google lub aplikacje Google Chat z dowolnego pokoju w organizacji Google Workspace.

MembershipZasób wskazuje, czy użytkownik lub aplikacja Google Chat zostali zaproszeni do pokoju, czy są w nim obecni, czy też są z niego wykluczeni.

Wymagania wstępne

Node.js

Usuwanie użytkownika z pokoju

Aby usunąć użytkownika, grupę Google lub aplikację Google Chat z pokoju z weryfikacją tożsamości użytkownika, podaj w żądaniu:

  • Określ zakres upoważnienia chat.memberships. Użytkownik upoważniający musi mieć uprawnienia do usunięcia użytkownika lub Grupy dyskusyjnej Google z pokoju. Aby usunąć aplikację do obsługi czatu, określ zakres autoryzacji chat.memberships.app (aplikacje mogą usuwać tylko własne członkostwo, a nie innych aplikacji). Zalecamy wybranie najbardziej ograniczonego zakresu, który nadal pozwoli aplikacji na działanie.
  • Wywołaj metodę DeleteMembership().
  • Przekaż name subskrypcji, którą chcesz usunąć. Jeśli członkostwo należy do jedynego menedżera pokoju, przed jego usunięciem przypisz do pokoju innego menedżera.

Aby usunąć subskrypcję za pomocą uwierzytelniania użytkownika:

Node.js

chat/client-libraries/cloud/delete-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.delete'];

// This sample shows how to delete a space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME here
    name: 'spaces/SPACE_NAME'
  };

  // Make the request
  const response = await chatClient.deleteSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Aby uruchomić ten przykład, zastąp:

  • SPACE_NAME: identyfikator name pokoju. Identyfikator możesz uzyskać, wywołując metodę ListSpaces() lub z adresu URL pokoju.
  • MEMBER_NAME: identyfikator użytkownika w name. Identyfikator możesz uzyskać, wywołując metodę ListMemberships().

W przypadku powodzenia treść odpowiedzi zwraca wartość 'state': 'NOT_A_MEMBER', co oznacza, że wspierający nie jest już w pomieszczeniu.

{
    "name": "spaces/SPACE_NAME/members/MEMBER_NAME",
    "state": "NOT_A_MEMBER"
}

Usuwanie użytkownika z pokoju w aplikacji Google Chat

Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.

Aby usunąć użytkownika, grupę Google lub aplikację Google Chat z pokoju z weryfikacją aplikacji, podaj w żądaniu:

  • Określ zakres upoważnień chat.app.memberships. Usuwanie członkostwa menedżera pokoju jest obsługiwane tylko w pokojach utworzonych przez aplikacje Google Chat.
  • Wywołaj metodę delete w zasobie membership.
  • Przekaż name subskrypcji, którą chcesz usunąć. Jeśli członkostwo należy do jedynego menedżera pokoju, przed jego usunięciem przypisz do pokoju innego menedżera.

Tworzenie klucza interfejsu API

Aby wywołać metodę interfejsu API w wersji przedpremierowej dla programistów, musisz użyć niepublicznej wersji dokumentu dotyczącego wykrywania interfejsu API w wersji przedpremierowej dla programistów. Aby uwierzytelnić żądanie, musisz podać klucz interfejsu API.

Aby utworzyć klucz interfejsu API, otwórz projekt Google Cloud aplikacji i wykonaj te czynności:

  1. W konsoli Google Cloud kliknij Menu  > Interfejsy API i usługi > Dane logowania.

    Przejdź do danych logowania

  2. Kliknij Utwórz dane logowania > Klucz interfejsu API.
  3. Wyświetli się nowy klucz API.
    • Kliknij Kopiuj , aby skopiować klucz interfejsu API i użyć go w kodzie aplikacji. Klucz interfejsu API znajdziesz też w sekcji „Klucze interfejsu API” w danych logowania projektu.
    • Aby zaktualizować ustawienia zaawansowane i ograniczyć użycie klucza API, kliknij Ogranicz klucz. Więcej informacji znajdziesz w artykule Stosowanie ograniczeń kluczy interfejsu API.

Napisać skrypt, który wywołuje interfejs Chat API

Aby usunąć subskrypcję za pomocą uwierzytelniania w aplikacji:

Python

  1. W katalogu roboczym utwórz plik o nazwie chat_membership_delete_app.py.
  2. Dodaj do pliku chat_membership_delete_app.py ten kod:

    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, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # 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. W kodzie zamień:

    • API_KEY: klucz interfejsu API utworzony do tworzenia punktu końcowego usługi Chat API.

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

    • MEMBER: nazwa członkostwa, którą możesz uzyskać z metody spaces.members.list w Chat API. Aby usunąć subskrypcję aplikacji, zastąp MEMBER kodem app.

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

    python3 chat_membership_delete_app.py

W przypadku powodzenia treść odpowiedzi zwraca wartość 'state': 'NOT_A_MEMBER', co oznacza, że wspierający nie jest już w pomieszczeniu.

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

Ograniczenia i uwagi

Usuwanie użytkowników lub grup Google z pokoju jako administrator Google Workspace

Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę DeleteMembership(), aby usunąć użytkowników, Grupy dyskusyjne Google lub aplikacje Google Chat z dowolnego pokoju w organizacji Google Workspace.

Aby wywołać tę metodę jako administrator Google Workspace:

  • Wywołaj metodę, używając uwierzytelniania użytkownika, i określ zakres autoryzacji, który obsługuje wywoływanie metody przy użyciu uprawnień administratora.
  • W żądaniu ustaw parametr zapytania useAdminAccess na true.

Więcej informacji i przykłady znajdziesz w artykule Zarządzanie pokojami Google Chat przez administratora Google Workspace.