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 dowolnym pokoju w organizacji Google Workspace.
Zasób Membership
informuje, czy użytkownik lub aplikacja Google Chat został zaproszony do pokoju, jego część lub brak w nim.
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 Google Chat, utwórz dane logowania z identyfikatorem klienta OAuth i zapisz je w pliku JSON o nazwie
client_secrets.json
w katalogu lokalnym. - 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 Google Chat, utwórz dane logowania z identyfikatorem klienta OAuth i zapisz je 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 przypadku 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 aktualizować 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ęMembership
z tym kodem:- 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ż
updateMask
, aby określić aspekty subskrypcji, które chcesz zaktualizować. Zawiera ona te elementy: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
ma wartośćSPACE
(spacje z nazwą).
Ustawianie zwykłego uczestnika pokoju jako menedżera pokoju
Ten przykład wywołuje interfejs Chat API przy użyciu uwierzytelniania użytkownika, aby zwykły użytkownik pokoju stał się menedżerem pokoju przez określenie role
jako ROLE_MANAGER
:
Node.js
Aby uruchomić przykład, zastąp to:
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 utworzeniu członkostwa asynchronicznie za pomocą interfejsu Chat API.ROLE_NAME
: zaktualizowana rola,ROLE_MANAGER
.
Interfejs Google Chat API aktualizuje podaną wartość użytkownika jako menedżera pokoju i zwraca instancję Membership
.
Ustawianie menedżera pokoju jako zwykłego uczestnika
Ten przykład wywołuje interfejs Chat API przy użyciu uwierzytelniania użytkownika, aby uczynić menedżera pokoju zwykłym członkiem pokoju przez określenie 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 utworzeniu członkostwa asynchronicznie 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 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 interfejsu API. Więcej informacji znajdziesz w artykule Stosowanie ograniczeń kluczy interfejsu API.
Napisać skrypt, który wywołuje interfejs Chat API
W tym przykładzie wywołujemy interfejs API Google Chat za pomocą uwierzytelniania aplikacji, aby uczynić zwykłego członka pokoju menedżerem pokoju. W tym celu w elementach body
, które określają 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()
Zastąp w kodzie następujące elementy:
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 Chat API.
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 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ń dotyczących kluczy interfejsu API.
Tworzenie skryptu wywołującego interfejs Chat API
Ten przykład wywołuje interfejs Chat API za pomocą uwierzytelniania aplikacji, aby uczynić menedżera pokoju zwykłym członkiem pokoju przez określenie role
jako ROLE_MEMBER
w elemencie body
, który określa zaktualizowane atrybuty członkostwa:
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 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 Chat API.
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ć listę użytkowników 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 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
- Zaproś lub dodaj 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.