Ten przewodnik wyjaśnia, jak używać metody
update()
w zasobie Membership interfejsu Google Chat API, aby zmieniać atrybuty
dotyczące członkostwa, np. zmieniać uczestnika pokoju w 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.
MembershipZasób określa, czy użytkownik lub aplikacja Google Chat jest zaproszony do pokoju, należy do niego czy nie.
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 Node.js.
- Utwórz dane logowania, które będą zależeć od sposobu uwierzytelniania w żądaniu do interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik Chatu, utwórz dane logowania identyfikatora klienta OAuth i zapisz je jako plik JSON o nazwie
credentials.jsonw katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja w Chat, utwórz dane logowania konta usługi i zapisz je w pliku JSON o nazwie
credentials.json.
- Aby uwierzytelnić się jako użytkownik Chatu, utwórz dane logowania identyfikatora klienta OAuth i zapisz je jako plik 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 subskrypcji
Aby zaktualizować członkostwo w przestrzeni, w prośbie 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 metodę
UpdateMembership(). - Przekaż
membershipjako instancjęMembershipz tymi elementami:- 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 subskrypcji do zaktualizowania. Obejmuje to te elementy:role: rola użytkownika w pokoju czatu, która określa dozwolone działania w pokoju. Szczegółowe wyjaśnienia dotyczące uprawnień znajdziesz wMembershipRolew dokumentacji referencyjnej interfejsu Chat API. Możliwe wartości:ROLE_MEMBER: osoba w pokoju. W interfejsie Google Chat ta rola jest nazywana Użytkownik.ROLE_ASSISTANT_MANAGER: menedżer pokoju. W interfejsie czatu ta rola nosi nazwę Menedżer.ROLE_MANAGER: właściciel pokoju. W interfejsie czatu ta rola jest nazywana Właściciel.
Zmiana osoby w pokoju na właściciela (uwierzytelnianie użytkownika)
W tym przykładzie wywołujemy interfejs Chat API za pomocą uwierzytelniania użytkownika, aby zmienić zwykłego uczestnika pokoju w jego właściciela, określając role jako ROLE_MANAGER:
Node.js
Aby uruchomić przykład, zastąp te elementy:
SPACE_NAME: identyfikator z przestrzeniname. Możesz go uzyskać, wywołując metodęListSpaces()lub z adresu URL pokoju.MEMBER_NAME: identyfikator znamesubskrypcji. 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; Możesz ustawić dowolną wartość z zakresuMembershipRole. Jeśli na przykład chcesz zmienić rolę zwykłego członka 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.
Zmiana właściciela na osobę w pokoju (uwierzytelnianie użytkownika)
W tym przykładzie wywołujemy interfejs Chat API za pomocą uwierzytelniania użytkownika, aby zmienić właściciela pokoju w zwykłego uczestnika pokoju, określając role jako ROLE_MEMBER:
Node.js
Aby uruchomić przykład, zastąp te elementy:
SPACE_NAME: identyfikator z przestrzeniname. Możesz go uzyskać, wywołując metodęListSpaces()lub z adresu URL pokoju.MEMBER_NAME: identyfikator znamesubskrypcji. 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 właściciela pokoju i zwraca instancję Membership.
Zmienianie osoby w pokoju na właściciela (uwierzytelnianie w aplikacji Chat)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Napisz skrypt, który wywołuje Chat API
Poniższy przykład wywołuje interfejs Chat API za pomocą uwierzytelniania aplikacji, aby zmienić zwykłego członka pokoju w jego właściciela. W tym celu w body, które określa zaktualizowane atrybuty członkostwa, podaje role jako ROLE_MANAGER:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_update_to_owner_app.py. Dodaj do pliku
chat_membership_update_to_owner_app.pyten 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ąspaces.listmetody w 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ć dowolną wartość z zakresuMembershipRole. Jeśli na przykład chcesz zmienić rolę zwykłego członka na menedżera pokoju, zmieńROLEnaROLE_ASSISTANT_MANAGER.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_membership_update_to_owner_app.py
Zmienianie właściciela na osobę w pokoju (uwierzytelnianie w aplikacji Chat)
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Napisz skrypt, który wywołuje Chat API
Poniższy przykład wywołuje interfejs Chat API za pomocą uwierzytelniania aplikacji, aby zmienić właściciela pokoju w zwykłego członka pokoju, określając role jako ROLE_MEMBER w 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.pyten 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ąspaces.listmetody w 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 przykład:
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, wykonaj te czynności:
- Wywołaj metodę za pomocą uwierzytelniania użytkownika i określ zakres autoryzacji, który obsługuje wywoływanie metody z uprawnieniami administratora.
- W żądaniu ustaw parametr zapytania
useAdminAccessnatrue.
Więcej informacji i przykłady znajdziesz w artykule Zarządzanie pokojami w 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 na czacie
- Wyświetlanie listy osób w pokoju
- Usuwanie użytkownika lub aplikacji do obsługi czatu z pokoju