Z tego przewodnika dowiesz się, jak używać metody
update()
w zasobie Membership
interfejsu Google Chat API, aby zmieniać atrybuty
członkostwa, np. zmieniać rolę osoby w pokoju z osoby w pokoju na właściciela pokoju lub z właściciela pokoju na osobę w pokoju.
Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę update()
, aby zaktualizować członkostwo w dowolnym pokoju w organizacji Google Workspace.
Membership
Zasób określa, czy użytkownik lub aplikacja Google Chat jest zaproszona 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.json
w 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ż
membership
jako instancjęMembership
z tymi elementami:- Pole
name
ustawione na członkostwo do zaktualizowania, które zawiera identyfikator pokoju i identyfikator użytkownika. - 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. Możliwe wartości:ROLE_MEMBER
: osoba w pokoju. W interfejsie Chat ta rola jest nazywana Użytkownik. Użytkownik ma podstawowe uprawnienia, takie jak wysyłanie wiadomości na czacie. W rozmowach 1:1 i grupowych bez nazwy każda osoba ma tę rolę.ROLE_MANAGER
: właściciel pokoju. W interfejsie czatu ta rola nosi nazwę Właściciel. Użytkownik ma wszystkie podstawowe uprawnienia oraz uprawnienia administracyjne, które pozwalają mu zarządzać pokojem, np. dodawać i usuwać członków. Obsługiwane tylko w pokojach, w którychspaceType
ma wartośćSPACE
(nazwane pokoje).
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 zname
subskrypcji. 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 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 zname
subskrypcji. 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 do obsługi czatu)
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.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 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', body={'role': 'ROLE_MANAGER'} ).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.list
metody w interfejsie Chat API lub z adresu URL pokoju.MEMBERSHIP
: nazwa członkostwa, którą możesz uzyskać za pomocąspaces.members.list
metody w interfejsie Chat API.
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.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 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.list
metody w interfejsie Chat API lub z adresu URL pokoju.MEMBERSHIP
: nazwa członkostwa, którą możesz uzyskać za pomocąspaces.members.list
metody 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
useAdminAccess
natrue
.
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świetl listę osób w pokoju.
- Usuwanie użytkownika lub aplikacji do obsługi czatu z pokoju