Ten przewodnik wyjaśnia, jak używać metody
update()
w zasobie Membership interfejsu Google Chat API do zmiany atrybutów
członkostwa, np. zmiany osoby w pokoju na menedżera pokoju lub
właściciela pokoju.
Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę update(), aby zaktualizować członkostwo w dowolnym pokoju w organizacji Google Workspace.
Wymagania wstępne
Node.js
- 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 sposodu uwierzytelniania w żądaniu do interfejsu Google Chat API
request:
- Aby uwierzytelnić się jako użytkownik Czatu,
utwórz dane logowania identyfikatora klienta OAuth i zapisz je w pliku JSON o nazwie
credentials.jsonw katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja do obsługi czatu,
utwórz dane logowania konta usługi i zapisz je w pliku JSON o nazwie
credentials.json.
- Aby uwierzytelnić się jako użytkownik Czatu,
utwórz dane logowania identyfikatora klienta OAuth i zapisz je w pliku JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić się jako użytkownik, czy jako aplikacja do obsługi czatu.
Aktualizowanie członkostwa
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,
określ zakres autoryzacji
chat.app.memberships. Podczas aktualizowania członkostwa za pomocą uwierzytelniania aplikacji możesz aktualizować tylko członkostwa 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
UpdateMembership()metodę. - Przekaż
membershipjako instancjęMembershipz tymi informacjami:- Pole
nameustawione na członkostwo do zaktualizowania, które zawiera identyfikator pokoju i identyfikator uczestnika. - Pola członkostwa do zaktualizowania ustawione na nowe wartości.
- Pole
- Przekaż
updateMask, aby określić aspekty członkostwa do zaktualizowania. Obejmuje ono te informacje:role: rola użytkownika w pokoju czatu, która określa dozwolone działania w pokoju. Szczegółowe wyjaśnienia uprawnień znajdziesz wMembershipRolew dokumentacji interfejsu Chat API. Możliwe wartości:ROLE_MEMBER: osoba w pokoju. W interfejsie Google Chat ta rola nosi nazwę Osoba w pokoju.ROLE_ASSISTANT_MANAGER: menedżer pokoju. W interfejsie Google Chat ta rola nosi nazwę Menedżer.ROLE_MANAGER: właściciel pokoju. W interfejsie Google Chat ta rola nosi nazwę Właściciel.
Zmienianie osoby w pokoju na właściciela (uwierzytelnianie użytkownika)
Ten przykład wywołuje interfejs Chat API za pomocą
uwierzytelniania użytkownika
aby zmienić zwykłą osobę w pokoju na właściciela pokoju, określając role jako
ROLE_MANAGER:
Node.js
Aby uruchomić próbkę, zastąp te elementy:
SPACE_NAME: identyfikator z polaname. Identyfikator możesz uzyskać, wywołującListSpaces()metodę lub z adresu URL pokoju.MEMBER_NAME: identyfikator z pola członkostwaname. Identyfikator możesz uzyskać, wywołującListMemberships()metodę lub z treści odpowiedzi zwróconej po asynchronicznym utworzeniu członkostwa za pomocą interfejsu Chat API.ROLE_NAME: zaktualizowana rola,ROLE_MANAGER. Możesz ustawić tę wartość na dowolną wartośćMembershipRole. Aby na przykład zmienić zwykłą osobę w pokoju na menedżera pokoju, zmieńROLE_NAMEnaROLE_ASSISTANT_MANAGER.
Interfejs Google Chat API aktualizuje określone członkostwo na właściciela pokoju i zwraca
instancję
Membership.
Zmienianie właściciela na osobę w pokoju (uwierzytelnianie użytkownika)
Ten przykład wywołuje interfejs Chat API za pomocą
uwierzytelniania użytkownika
aby zmienić właściciela pokoju na zwykłą osobę w pokoju, określając role jako
ROLE_MEMBER:
Node.js
Aby uruchomić próbkę, zastąp te elementy:
SPACE_NAME: identyfikator z polaname. Identyfikator możesz uzyskać, wywołującListSpaces()metodę lub z adresu URL pokoju.MEMBER_NAME: identyfikator z pola członkostwaname. Identyfikator możesz uzyskać, wywołującListMemberships()metodę 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 właściciela pokoju i zwraca
instancję
Membership.
Zmienianie osoby w pokoju na właściciela (uwierzytelnianie aplikacji do obsługi czatu)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Napisz skrypt, który wywołuje interfejs Chat API
Ten przykład wywołuje interfejs Chat API za pomocą
uwierzytelniania aplikacji
aby zmienić zwykłą osobę w pokoju na właściciela pokoju, określając role jako
ROLE_MANAGER w body, które określa zaktualizowane atrybuty członkostwa:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_update_to_owner_app.py. W pliku
chat_membership_update_to_owner_app.pyumieść 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 owner. ''' # 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) # 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', # Replace ROLE with a MembershipRole value. # Obtain the MembershipRole values from the membership of Chat API. body={'role': 'ROLE'} ).execute() # Prints details about the updated membership. print(result) if __name__ == '__main__': main()W kodzie zastąp te elementy:
SPACE: nazwa pokoju, którą możesz uzyskać za pomocą metodyspaces.listw interfejsie Chat API lub z adresu URL pokoju.MEMBERSHIP: nazwa członkostwa, którą możesz uzyskać za pomocąspaces.members.listmetody w interfejsie Chat API.ROLE: zaktualizowana rola,ROLE_MANAGER. Możesz ustawić tę wartość na dowolną wartośćMembershipRole. Aby na przykład zmienić zwykłą osobę w pokoju na menedżera pokoju, zmieńROLEnaROLE_ASSISTANT_MANAGER.
W katalogu roboczym skompiluj i uruchom próbkę:
python3 chat_membership_update_to_owner_app.py
Zmienianie właściciela na osobę w pokoju (uwierzytelnianie aplikacji do obsługi czatu)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Napisz skrypt, który wywołuje interfejs Chat API
Ten przykład wywołuje interfejs Chat API za pomocą
uwierzytelniania aplikacji
aby zmienić właściciela pokoju na zwykłą osobę w pokoju, określając role jako
ROLE_MEMBER w body, które określa zaktualizowane atrybuty członkostwa:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_update_to_member_app.py. W pliku
chat_membership_update_to_member_app.pyumieść 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 owner to change it to a regular member. ''' # 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) # 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 te elementy:
SPACE: nazwa pokoju, którą możesz uzyskać za pomocą metodyspaces.listw interfejsie Chat API lub z adresu URL pokoju.MEMBERSHIP: nazwa członkostwa, którą możesz uzyskać za pomocąspaces.members.listmetody w interfejsie Chat API.
W katalogu roboczym skompiluj i uruchom próbkę:
python3 chat_membership_update_to_member_app.py
Aktualizowanie członkostwa 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ę za pomocą uwierzytelniania użytkownika i określ zakres autoryzacji, który umożliwia wywoływanie metody z uprawnieniami administratora.
- W żądaniu ustaw parametr zapytania
useAdminAccessnatrue.
Więcej informacji i przykładów znajdziesz w artykule Zarządzanie pokojami Google Chat jako administrator Google Workspace.
Powiązane artykuły
- Zapraszanie lub dodawanie użytkownika albo aplikacji Google Chat do pokoju.
- Uzyskiwanie szczegółowych informacji o członkostwie użytkownika lub aplikacji do obsługi czatu.
- Wyświetlanie osób w pokoju.
- Usuwanie użytkownika lub aplikacji do obsługi czatu z pokoju.