Z tego przewodnika dowiesz się, jak używać metody delete()
w zasobie Membership
interfejsu Google Chat API do usuwania użytkowników z pokoju, inaczej nazywanego usuwaniem członkostwa. Nie można usunąć menedżerów pokoju,
jeśli są jedynymi menedżerami 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.
Membership
Zasó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
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta Cloud dla Node.js.
- Utwórz dane logowania na podstawie tego, jak chcesz się uwierzytelnić w żądaniu do interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik czatu, utwórz dane logowania OAuth z identyfikatorem klienta i zapisz je w katalogu lokalnym w pliku JSON o nazwie
client_secrets.json
. - Aby uwierzytelnić się jako aplikacja Google Chat, utwórz dane logowania do konta usługi i zapisz je w pliku JSON o nazwie
credentials.json
.
- Aby uwierzytelnić się jako użytkownik czatu, utwórz dane logowania OAuth z identyfikatorem klienta i zapisz je w katalogu lokalnym w pliku JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz się uwierzytelniać jako użytkownik czy w aplikacji Google Chat.
- Pokój Google Chat. Aby utworzyć pokój za pomocą interfejsu Google Chat API, zapoznaj się z artykułem Tworzenie pokoju. Aby je utworzyć w Google Chat, zapoznaj się z dokumentacją w Centrum pomocy.
Usuwanie użytkownika z pokoju jako użytkownika
Aby usunąć użytkownika, grupę dyskusyjną Google lub aplikację Google Chat z pokoju z uwierzytelnianiem użytkowników, przekaż w żądaniu:
- Określ zakres upoważnienia
chat.memberships
. Autoryzowany użytkownik musi mieć uprawnienia do usunięcia użytkownika lub grupy dyskusyjnej Google z pokoju. Aby usunąć aplikację do obsługi czatu, określ zakres autoryzacjichat.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ę z uwierzytelnianiem użytkowników:
Node.js
Aby uruchomić ten przykład, zastąp:
SPACE_NAME
: identyfikator zname
pokoju. Identyfikator możesz uzyskać, wywołując metodęListSpaces()
lub z adresu URL pokoju.MEMBER_NAME
: identyfikator użytkownika wname
. 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ę dyskusyjną Google lub aplikację Google Chat z pokoju z uwierzytelnianiem aplikacji, przekaż w żądaniu:
- Określ zakres autoryzacji
chat.app.memberships
. Usuwanie członkostwa menedżera pokoju jest obsługiwane tylko w pokojach utworzonych przez aplikacje czatu. - Wywołaj metodę
delete
w zasobiemembership
. - 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:
- W konsoli Google Cloud kliknij Menu > Interfejsy API i usługi > Dane logowania.
- Kliknij Utwórz dane logowania > Klucz interfejsu API.
- 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.
- Kliknij Ogranicz klucz, aby zaktualizować ustawienia zaawansowane i ograniczyć użycie klucza API. 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
- W katalogu roboczym utwórz plik o nazwie
chat_membership_delete_app.py
. 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()
W kodzie zamień:
API_KEY
: klucz interfejsu API utworzony do utworzenia punktu końcowego usługi dla interfejsu Chat API.SPACE
: nazwa pokoju, którą możesz uzyskać z metodyspaces.list
w interfejsie API czatu lub z adresu URL pokoju.MEMBER
: nazwa członkostwa, którą możesz uzyskać z metodyspaces.members.list
w Chat API. Aby usunąć subskrypcję aplikacji, zamieńMEMBER
naapp
.
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
- Dzięki uwierzytelnianiu aplikacji aplikacja Google Chat może usuwać użytkowników, ale nie Grup Google.
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
natrue
.
Więcej informacji i przykłady znajdziesz w artykule Zarządzanie pokojami Google Chat przez administratora Google Workspace.
Powiązane artykuły
- Dowiedz się więcej o subskrypcji użytkownika lub aplikacji Google Chat
- Wyświetlanie listy użytkowników w pokoju
- Aktualizowanie członkostwa użytkownika w pokoju Google Chat
- Zaproś użytkownika lub aplikację Google Chat do pokoju.