Z tego przewodnika dowiesz się, jak używać metody update()
w zasobach Membership
interfejsu API Google Chat, aby zmieniać atrybuty członkostwa, na przykład przekształcać członka pokoju w menedżera pokoju lub menedżera pokoju w zwykłego użytkownika pokoju.
Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę update()
, aby zaktualizować członkostwo w dowolnej przestrzeni 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 poświadczenia dostępu na podstawie sposobu uwierzytelniania w żądaniu 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 uwierzytelnić użytkownika czy aplikację Google Chat.
Aktualizowanie subskrypcji
Aby zaktualizować członkostwo w pokoju, w żądaniu podaj te informacje:
- Określ zakres autoryzacji:
- W przypadku uwierzytelniania użytkownika określ zakres autoryzacji
chat.memberships
. - W ramach uwierzytelniania aplikacji (dostępnego w wersji dla deweloperów) określ zakres autoryzacji
chat.app.memberships
. Podczas aktualizowania członkostwa za pomocą uwierzytelniania aplikacji możesz zaktualizować tylko członkostwo w pokojach utworzonych przez aplikacje do obsługi czatu. Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
- W przypadku uwierzytelniania użytkownika określ zakres autoryzacji
- Wywołaj metodę
UpdateMembership()
. - Przekaż
membership
jako instancję klasyMembership
z tymi parametrami:- Pole
name
ustawione na członkostwo do zaktualizowania, które zawiera identyfikator pokoju i identyfikator użytkownika. - Pola członkostwa, które mają zostać zaktualizowane, mają ustawione nowe wartości.
- Pole
- Przekaż parametr
updateMask
, aby określić aspekty subskrypcji, które mają zostać zaktualizowane. Obejmuje on:role
: rola użytkownika w pokoju czatu, która określa jego dozwolone działania w pokoju. Możliwe wartości:ROLE_MEMBER
: użytkownik pokoju. Użytkownik ma podstawowe uprawnienia, takie jak wysyłanie wiadomości do pokoju. W rozmowach 1:1 i rozmowach grupowych bez nazwy wszyscy mają tę rolę.ROLE_MANAGER
: menedżer pokoju. Użytkownik ma wszystkie podstawowe uprawnienia oraz uprawnienia administracyjne, które umożliwiają zarządzanie pokojem, np. dodawanie i usuwanie użytkowników. Obsługiwane tylko w pokojach, w którychspaceType
toSPACE
(nazwane pokoje).
Ustawianie zwykłego uczestnika pokoju jako menedżera pokoju
W tym przykładzie wywołujemy interfejs Chat API, używając uwierzytelnienia użytkownika, aby uczynić zwykłego uczestnika pokoju menedżerem pokoju. W tym celu podajemy wartość role
jako ROLE_MANAGER
:
Node.js
Aby uruchomić przykład, zastąp te wartości:
SPACE_NAME
: identyfikator pokojuname
. Identyfikator możesz uzyskać, wywołując metodęListSpaces()
lub korzystając z adresu URL pokoju.MEMBER_NAME
: identyfikator członkostwaname
. Identyfikator możesz uzyskać, wywołując metodęListMemberships()
lub z treści odpowiedzi zwróconej po asynchronicznym utworzeniu członkostwa za pomocą interfejsu Chat API.ROLE_NAME
: zaktualizowana rola,ROLE_MANAGER
.
Interfejs Google Chat API aktualizuje określone członkostwo na menedżera pokoju i zwraca instancję Membership
.
Ustawianie menedżera pokoju jako zwykłego uczestnika
W tym przykładzie wywołujemy interfejs API Google Chat, korzystając z uwierzytelnienia użytkownika, aby uczynić menedżera pokoju zwykłym członkiem pokoju, podając role
jako ROLE_MEMBER
:
Node.js
Aby uruchomić przykład, zastąp te wartości:
SPACE_NAME
: identyfikator pokojuname
. Identyfikator możesz uzyskać, wywołując metodęListSpaces()
lub korzystając z adresu URL pokoju.MEMBER_NAME
: identyfikator członkostwaname
. Identyfikator możesz uzyskać, wywołując metodęListMemberships()
lub z treści odpowiedzi zwróconej po asynchronicznym utworzeniu członkostwa za pomocą interfejsu Chat API.ROLE_NAME
: zaktualizowana rola,ROLE_MEMBER
.
Interfejs Google Chat API aktualizuje określone członkostwo na menedżera pokoju i zwraca instancję Membership
.
Ustawianie zwykłego członka pokoju jako menedżera pokoju w aplikacji Google Chat
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Tworzenie klucza interfejsu API
Aby wywołać metodę interfejsu API w wersji przedpremierowej dla programistów, musisz użyć niepublicznej wersji dokumentu wyszukiwania 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 otwórz 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.
- Aby zaktualizować ustawienia zaawansowane i ograniczyć użycie klucza API, kliknij Ogranicz klucz. Więcej informacji znajdziesz w artykule Stosowanie ograniczeń klucza interfejsu API.
Tworzenie skryptu wywołującego interfejs Chat API
W tym przykładzie wywołujemy interfejs API Google Chat za pomocą autoryzacji aplikacji, aby uczynić zwykłego członka pokoju menedżerem pokoju. W tym celu w body
, który określa zaktualizowane atrybuty członkostwa, podajemy wartość role
jako ROLE_MANAGER
:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_update_to_manager_app.py
. Dodaj do pliku
chat_membership_update_to_manager_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 updates a specified space member to change it from a regular member to a space manager. ''' # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MANAGER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
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ć za pomocą metodyspaces.list
w interfejsie API Google Chat lub z adresu URL pokoju.MEMBERSHIP
: nazwa subskrypcji, którą możesz uzyskać za pomocą metodyspaces.members.list
w interfejsie API Google Chat.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_membership_update_to_manager_app.py
Ustawianie menedżera pokoju jako zwykłego użytkownika w aplikacji Google Chat
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Tworzenie klucza interfejsu API
Aby wywołać metodę interfejsu API w wersji przedpremierowej dla programistów, musisz użyć niepublicznej wersji dokumentu wyszukiwania 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 otwórz 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.
- Aby zaktualizować ustawienia zaawansowane i ograniczyć użycie klucza API, kliknij Ogranicz klucz. Więcej informacji znajdziesz w artykule Stosowanie ograniczeń klucza interfejsu API.
Tworzenie skryptu wywołującego interfejs Chat API
W tym przykładzie wywołujemy interfejs API Google Chat za pomocą uwierzytelniania aplikacji, aby uczynić menedżera pokoju zwykłym członkiem pokoju. W tym celu w parametrze body
, który określa zaktualizowane atrybuty członkostwa, podajemy wartość role
jako ROLE_MEMBER
:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_update_to_member_app.py
. Dodaj do pliku
chat_membership_update_to_member_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 via user credentials, then updates a specified space member to change it from a regular member to a space manager. ''' # 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().patch( # The membership to update, and the updated role. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. # # Replace MEMBERSHIP with a membership name. # Obtain the membership name from the membership of Chat API. name='spaces/SPACE/members/MEMBERSHIP', updateMask='role', body={'role': 'ROLE_MEMBER'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()
W kodzie zastąp:
API_KEY
: klucz interfejsu API utworzony do tworzenia punktu końcowego usługi Chat API.SPACE
: nazwa pokoju, którą możesz uzyskać za pomocą metodyspaces.list
w interfejsie API Google Chat lub z adresu URL pokoju.MEMBERSHIP
: nazwa subskrypcji, którą możesz uzyskać za pomocą metodyspaces.members.list
w interfejsie API Google Chat.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_membership_update_to_member_app.py
Aktualizowanie subskrypcji jako administrator Google Workspace
Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę update()
, aby zaktualizować członkostwo w dowolnym 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 za pomocą 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
- Zaproś użytkownika lub aplikację Google Chat do pokoju.
- Dowiedz się więcej o subskrypcji użytkownika lub aplikacji Google Chat
- Wyświetlanie listy osób w pokoju.
- Usuwanie użytkownika lub aplikacji Google Chat z pokoju.