Ten przewodnik wyjaśnia, jak używać metody
create()
w zasobie Membership
interfejsu Google Chat API, aby zaprosić lub dodać użytkownika, grupę dyskusyjną Google lub aplikację do obsługi czatu do pokoju, czyli utworzyć członkostwo. Jeśli podczas tworzenia członkostwa określony członek ma wyłączone automatyczne akceptowanie, zostanie zaproszony i musi zaakceptować zaproszenie do pokoju, zanim do niego dołączy. W przeciwnym razie utworzenie członkostwa spowoduje dodanie użytkownika bezpośrednio do określonego pokoju.
Jeśli jesteś administratorem Google Workspace, możesz dodawać użytkowników, grupy dyskusyjne Google lub aplikacje do Google Chat do dowolnego pokoju w organizacji Google Workspace.
Membership
Zasó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.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.
Python
- 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 w Pythonie.
- 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.
Java
- 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 w języku Java.
- 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.
Google Apps Script
- 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.
- Utwórz samodzielny projekt Apps Script i włącz zaawansowaną usługę czatu.
- W tym przewodniku musisz użyć uwierzytelniania użytkownika lub aplikacji. Aby uwierzytelnić się jako aplikacja do obsługi czatu, utwórz dane logowania konta usługi. Instrukcje znajdziesz w artykule Uwierzytelnianie i autoryzowanie jako aplikacja Google Chat.
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić się jako użytkownik, czy jako aplikacja do obsługi czatu.
Zapraszanie lub dodawanie użytkownika do pokoju jako użytkownika
Aby zaprosić lub dodać użytkownika do pokoju z uwierzytelnianiem użytkownika, w żądaniu przekaż następujące informacje:
- Określ zakres autoryzacji
chat.memberships
. - Wywołaj metodę
CreateMembership()
. - Przekaż
parent
jako nazwę zasobu pokoju, w którym chcesz utworzyć członkostwo. - Przekaż
membership
jako instancjęMembership
z polemmember
ustawionym w ten sposób:- Pole
type
ma wartośćHUMAN
. - Pole
name
ustawione nausers/{user}
, gdzie{user}
to osoba, którą chcesz dodać do pokoju. Aby określić użytkownika Google Chat, zastąp{user}
jednym z tych elementów:- Identyfikator osoby w interfejsie People API. Jeśli na przykład interfejs People API
person
resourceName
ma wartośćpeople/123456789
, użyj wartościusers/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 interfejs People API
person
- Pole
W tym przykładzie dodajemy użytkownika do pokoju z uwierzytelnianiem użytkownika:
Node.js
Python
Java
Google Apps Script
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.USER_NAME
: identyfikator użytkownika.
Interfejs Chat API zwraca instancję Membership
, która zawiera szczegóły utworzonego członkostwa użytkownika.
Zapraszanie lub dodawanie grupy dyskusyjnej Google do pokoju
Aby zaprosić lub dodać grupę dyskusyjną Google do pokoju z uwierzytelnianiem użytkownika (uwierzytelnianie aplikacji nie obsługuje zapraszania ani dodawania grupy dyskusyjnej Google do pokoju), w żądaniu przekaż następujące informacje:
- Określ zakres autoryzacji
chat.memberships
. - Wywołaj metodę
CreateMembership()
. - Przekaż
parent
jako nazwę zasobu pokoju, w którym chcesz utworzyć członkostwo. - Przekaż
membership
jako instancjęMembership
z polemname
wgroupMember
ustawionym nagroups/{group}
, gdzie{group}
to identyfikator grupy, w której chcesz utworzyć członkostwo. Identyfikator grupy można pobrać za pomocą interfejsu Cloud Identity API.
Grup dyskusyjnych Google nie można dodawać do czatu grupowego ani czatu indywidualnego, a tylko do pokoju z nazwą.
W tym przykładzie dodajemy grupę do pokoju o nazwie z uwierzytelnianiem użytkownika:
Node.js
Python
Java
Google Apps Script
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.GROUP_NAME
: identyfikator grupy.
Interfejs Chat API zwraca instancję Membership
, która zawiera szczegóły utworzonego członkostwa użytkownika.
Dodawanie aplikacji Google Chat do pokoju
Aplikacja do obsługi czatu nie może dodać innej aplikacji jako użytkownika pokoju. Aby dodać aplikację do pokoju lub wiadomości na czacie między 2 użytkownikami, w żądaniu przekaż te informacje, korzystając z uwierzytelniania użytkownika (uwierzytelnianie aplikacji nie obsługuje zapraszania ani dodawania aplikacji do pokoju):
- Określ zakres autoryzacji
chat.memberships.app
. - Wywołaj metodę
CreateMembership()
. - Przekaż
parent
jako nazwę zasobu pokoju, w którym chcesz utworzyć członkostwo. - Przekaż
membership
jako instancjęMembership
z polemmember
ustawionym w ten sposób:- Pole
type
ma wartośćBOT
. - Pole
name
ustawione nausers/app
, czyli alias reprezentujący aplikację wywołującą interfejs Chat API.
- Pole
W tym przykładzie dodajemy aplikację Google Chat do pokoju:
Node.js
Python
Java
Google Apps Script
Aby uruchomić przykład, zastąp SPACE_NAME
identyfikatorem z przestrzeni name
.
Możesz go uzyskać, wywołując metodę
ListSpaces()
lub z adresu URL pokoju.
Interfejs Chat API zwraca instancję Membership
, która zawiera szczegóły utworzonego członkostwa użytkownika.
Zapraszanie lub dodawanie użytkownika do pokoju jako aplikacji Google Chat
Uwierzytelnianie aplikacji wymaga jednorazowego zatwierdzenia przez administratora.
Aby zaprosić lub dodać użytkownika do pokoju z uwierzytelnianiem aplikacji, w żądaniu przekaż następujące informacje:
- Określ zakres autoryzacji
chat.app.memberships
. - Wywołaj metodę
create
wmembership
zasobie. - 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ć subskrypcję, i może to być:- Identyfikator osoby w interfejsie People API. Jeśli np. w interfejsie People API wartość person
resourceName
topeople/123456789
, ustawmembership.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 np. w interfejsie People API wartość person
Napisz skrypt, który wywołuje Chat API
W tym przykładzie dodajemy użytkownika do pokoju z uwierzytelnianiem aplikacji:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_membership_app_create.py
. Dodaj do pliku
chat_membership_app_create.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 adds a user to a Chat space by creating a membership. ''' # 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().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 te elementy:
SPACE
: nazwa pokoju, którą możesz uzyskać za pomocąspaces.list
metody w interfejsie Chat API lub z adresu URL pokoju.USER
: identyfikator użytkownika.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_membership_app_create.py
Dodawanie użytkowników lub grup dyskusyjnych Google do pokoju jako administrator Google Workspace
Jeśli jesteś administratorem Google Workspace, możesz wywołać metodę create()
, aby dodać użytkowników, grupy Google lub aplikacje do Google Chat do dowolnego 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 obsługuje wywoływanie metody z użyciem uprawnień 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.
Ograniczenia i kwestie do rozważenia
- W przypadku uwierzytelniania aplikacji aplikacja do obsługi czatu może zapraszać lub dodawać użytkowników, ale nie grupy Google ani aplikacje do obsługi czatu. Aby dodać siebie, aplikacja do obsługi czatu musi używać uwierzytelniania użytkownika z zakresem autoryzacji
chat.memberships
.
Powiązane artykuły
- Uzyskiwanie szczegółowych informacji o członkostwie użytkownika lub aplikacji na czacie
- Wyświetlanie listy osób w pokoju
- Aktualizowanie członkostwa użytkownika w pokoju Google Chat
- Usuwanie użytkownika lub aplikacji do obsługi czatu z pokoju