Z tego przewodnika dowiesz się, jak używać metody create
w zasobie membership
interfejsu Google Chat API do zapraszania i dodawania użytkowników lub aplikacji Google Chat do pokoju nazywanego też członkostwem. Jeśli podczas tworzenia członkostwa określony użytkownik ma wyłączone zasady automatycznego akceptowania, jest zaproszony i musi zaakceptować zaproszenie do pokoju, zanim do niego dołączy. W przeciwnym razie utworzenie subskrypcji spowoduje dodanie użytkownika bezpośrednio do określonego pokoju.
Zasób Membership
wskazuje, czy użytkownik został zaproszony do pokoju, użytkownik lub aplikacja Google Chat został(a) zaproszony(a) lub nie ma go w pokoju.
Wymagania wstępne
Python
- Python 3.6 lub nowszy
- Narzędzie do zarządzania pakietami pip
Najnowsze biblioteki klienta Google do języka Python. Aby je zainstalować lub zaktualizować, uruchom w interfejsie wiersza poleceń to polecenie:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Opublikowana aplikacja Google Chat. Aby utworzyć i opublikować aplikację do obsługi czatu, przeczytaj artykuł Tworzenie aplikacji Google Chat.
Autoryzacja dla aplikacji do obsługi czatu została skonfigurowana. Aby utworzyć członkostwo, musisz mieć uwierzytelnienie użytkowników z zakresem autoryzacji
chat.memberships
lubchat.memberships.app
.
Zapraszanie i dodawanie użytkowników do pokoju
Aby zaprosić do pokoju lub dodać użytkownika, przekaż w swojej prośbie te elementy:
- Określ zakres autoryzacji
chat.memberships
. - Wywołaj metodę
create
w zasobiemembership
. - Ustaw
parent
na nazwę zasobu pokoju, w którym chcesz utworzyć członkostwo. - Ustaw
member
nausers/{user}
, gdzie{user}
to osoba, dla której chcesz utworzyć członkostwo, i ma jedną z tych wartości:- Identyfikator osoby w interfejsie People API. Jeśli na przykład w polu person (osoba) interfejsu People API
resourceName
masz wartośćpeople/123456789
, ustaw wartośćmembership.member.name
nausers/123456789
. - Identyfikator użytkownika w interfejsie Directory API.
- Adres e-mail użytkownika. Na przykład
users/222larabrown@gmail.com
lubusers/larabrown@cymbalgroup.com
. Jeśli użytkownik korzysta z konta Google lub należy do innej organizacji Google Workspace, musisz użyć jego adresu e-mail.
- Identyfikator osoby w interfejsie People API. Jeśli na przykład w polu person (osoba) interfejsu People API
Ten przykład pokazuje dodawanie użytkownika do pokoju:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_user_create.py
. Umieść ten kod w pliku
chat_membership_user_create.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a user to a Chat space by creating a membership. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
W kodzie zastąp następujący fragment:
SPACE
: nazwa pokoju, którą można uzyskać, korzystając z metodyspaces.list
w Chat API lub z adresu URL pokoju.USER
: identyfikator użytkownika.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_membership_user_create.py
Interfejs Chat API zwraca instancję membership
, która zawiera szczegóły utworzonej subskrypcji.
Dodawanie aplikacji do obsługi czatu do pokoju
Aplikacja do obsługi czatu nie może dodać innej aplikacji jako użytkownika pokoju. Aby dodać aplikację do obsługi czatu do pokoju lub rozmowy na czacie między 2 użytkownikami, przekaż w swojej prośbie te informacje:
- Określ zakres autoryzacji
chat.memberships.app
. - Wywołaj metodę
create
w zasobiemembership
. - Ustaw
parent
na nazwę zasobu pokoju, w którym chcesz utworzyć członkostwo. - Ustaw
member
nausers/app
– alias reprezentujący aplikację wywołującą interfejs Chat API.
Ten przykład dodaje aplikację do obsługi czatu do pokoju:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_app_create.py
. Umieść ten kod w pliku
chat_membership_app_create.py
:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # 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.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then adds the Chat app to a Chat space. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # 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().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Set the Chat app as the entity that gets added to the space. # 'app' is an alias for the Chat app calling the API. body = { 'member': { 'name':'users/app', 'type': 'BOT' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
W kodzie zastąp
SPACE
nazwą pokoju, którą możesz uzyskać za pomocą metodyspaces.list
w interfejsie Chat API lub z adresu URL pokoju.W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_membership_app_create.py
Interfejs Chat API zwraca instancję membership
, która zawiera szczegóły utworzonej subskrypcji.
Powiązane artykuły
- Wyświetlanie szczegółowych informacji o subskrypcjach użytkownika lub aplikacji do obsługi czatu
- Wyświetlanie listy użytkowników w pokoju
- Usuwanie użytkownika lub aplikacji do obsługi czatu z pokoju