Uwierzytelnianie i autoryzacja to mechanizmy używane odpowiednio do weryfikacji tożsamości i dostępu do zasobów. Z tego dokumentu dowiesz się, jak działa uwierzytelnianie i autoryzacja w przypadku aplikacji do obsługi czatu i żądań do interfejsu Chat API.
Omówienie procesu
Poniższy diagram przedstawia ogólne kroki uwierzytelniania i autoryzacji w Google Chat:

Skonfigurowanie projektu Google Cloud, włączenie Chat API i skonfigurowanie aplikacji Google Chat: w trakcie programowania tworzysz projekt Google Cloud. W projekcie Google Cloud włączasz interfejs Chat API, konfigurujesz aplikację Google Chat i konfigurujesz uwierzytelnianie. Więcej informacji znajdziesz w artykułach na temat programowania w Google Workspace i tworzenia aplikacji Google Chat.
Wywołanie interfejsu Chat API: gdy aplikacja wywołuje interfejs Chat API, wysyła do niego dane uwierzytelniające. Jeśli aplikacja uwierzytelnia się na koncie usługi, dane uwierzytelniające są wysyłane jako część jej kodu. Jeśli Twoja aplikacja wymaga wywołania interfejsu Chat API przy użyciu uwierzytelniania użytkownika, które nie zostało jeszcze przyznane, prosi użytkownika o zalogowanie się.
Żądanie zasobów: aplikacja prosi o dostęp z zakresami podanymi przez Ciebie podczas konfigurowania uwierzytelniania.
Poproś o zgodę: jeśli Twoja aplikacja uwierzytelnia się jako użytkownik, Google wyświetla ekran zgody OAuth, na którym użytkownik może zdecydować, czy przyznać jej dostęp do żądanych danych. Uwierzytelnianie za pomocą konta usługi nie wymaga zgody użytkownika.
Wyślij zatwierdzoną prośbę o zasoby: jeśli użytkownik wyrazi zgodę na zakresy autoryzacji, aplikacja połączy dane logowania i zatwierdzone przez użytkownika zakresy w jedno żądanie. Żądanie jest wysyłane do serwera autoryzacji Google w celu uzyskania tokena dostępu.
Google zwraca token dostępu: token dostępu zawiera listę przyznanych zakresów. Jeśli zwrócona lista zakresów jest bardziej restrykcyjna niż żądane zakresy, aplikacja wyłącza wszystkie funkcje ograniczone przez token.
Dostęp do żądanych zasobów: aplikacja używa tokena dostępu Google do wywoływania interfejsu Chat API i uzyskiwania dostępu do zasobów interfejsu Chat API.
Pobierz token odświeżania (opcjonalnie): jeśli Twoja aplikacja musi uzyskać dostęp do interfejsu Google Chat API po wygaśnięciu pojedynczego tokena dostępu, może otrzymać token odświeżania. Więcej informacji znajdziesz w artykule o korzystaniu z protokołu OAuth 2.0 do uzyskiwania dostępu do interfejsów API Google.
Poproś o więcej zasobów: jeśli aplikacja potrzebuje większego dostępu, prosi użytkownika o przyznanie nowych zakresów, co skutkuje nowym żądaniem uzyskania tokena dostępu (kroki 3–6).
Kiedy aplikacje do obsługi czatu wymagają uwierzytelnienia
Aplikacje do obsługi czatu mogą wysyłać wiadomości w odpowiedzi na interakcję użytkownika lub asynchronicznie. Mogą też wykonywać zadania w imieniu użytkownika, np. tworzyć pokoje czatu lub uzyskiwać listę osób w pokoju czatu.
Aplikacje do obsługi czatu nie wymagają uwierzytelniania, aby odpowiedzieć na interakcję użytkownika, chyba że podczas przetwarzania odpowiedzi wywołają one interfejs Chat API lub inny interfejs Google API.
Aby wysyłać asynchroniczne wiadomości lub wykonywać zadania w imieniu użytkownika, aplikacje Google Chat wysyłają do interfejsu Chat API żądania REST, które wymagają uwierzytelniania i autoryzacji.
Odpowiedzi na interakcje użytkowników nie wymagają uwierzytelniania
Aplikacje Google Chat nie muszą uwierzytelniać się jako użytkownik ani jako użytkownik Google Chat, aby odbierać zdarzenia interakcji i reagować na nie synchronicznie.
Aplikacje Google Chat otrzymują zdarzenia interakcji za każdym razem, gdy użytkownik wchodzi w interakcję lub wywołuje aplikację Google Chat, w tym:
- Użytkownik wysyła wiadomość do aplikacji Google Chat.
- Użytkownik dodaje @wzmiankę o aplikacji do obsługi czatu.
- Użytkownik wywołuje jedno z poleceń po ukośniku w aplikacji do obsługi czatu.
Ten diagram przedstawia sekwencję żądań i odpowiedzi między użytkownikiem Google Chat a aplikacją Google Chat:

- użytkownik wysyła wiadomość do aplikacji Google Chat w Google Chat;
- Google Chat przekaże wiadomość do aplikacji.
- Aplikacja odbiera wiadomość, przetwarza ją i zwraca odpowiedź do Google Chat.
- Google Chat renderuje odpowiedź użytkownikowi lub w pokoju.
Ta sekwencja jest powtarzana przy każdym zdarzeniu interakcji z aplikacją do obsługi czatu.
Wiadomości asynchroniczne wymagają uwierzytelniania
Wiadomości asynchroniczne mają miejsce, gdy aplikacja do obsługi czatu wysyła żądanie do interfejsu Chat API, co wymaga uwierzytelnienia i autoryzacji.
Wywołując interfejs Chat API, aplikacje do obsługi czatu mogą publikować wiadomości w Google Chat, wykonywać zadania i uzyskiwać dostęp do danych w imieniu użytkownika. Na przykład po wykryciu przerwy w działaniu serwera aplikacja do obsługi czatu może wywołać interfejs Chat API, aby:
- Utwórz pokój czatu przeznaczony do analizowania i rozwiązywania problemów związanych z przerwami w działaniu usługi.
- Dodaj osoby do pokoju czatu.
- Jeśli chcesz przekazać szczegółowe informacje o przerwie w działaniu usługi, opublikuj wiadomość w pokoju czatu.
Ten diagram przedstawia asynchroniczną sekwencję wiadomości między aplikacją Google Chat a pokojem czatu:

- Aplikacja do obsługi czatu tworzy wiadomość, wywołując interfejs Chat API za pomocą metody
spaces.messages.create
i umieszcza w żądaniu HTTP dane logowania użytkownika. - Google Chat uwierzytelnia aplikację Google Chat za pomocą konta usługi lub danych logowania użytkownika.
- Google Chat renderuje wiadomość z aplikacji we wskazanym pokoju.
Zakresy interfejsu Chat API
Skonfiguruj ekran zgody OAuth i wybierz zakresy, aby określić, jakie informacje mają być widoczne dla użytkowników i weryfikatorów aplikacji, oraz zarejestrować aplikację, aby móc ją później opublikować.
Aby określić poziom dostępu przyznany aplikacji, musisz wskazać i zadeklarować zakresy autoryzacji. Zakres autoryzacji to ciąg identyfikatora URI OAuth 2.0 zawierający nazwę aplikacji Google Workspace, rodzaj danych, do których ma dostęp, oraz poziom dostępu.
Zakresy niewrażliwe
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Zakres Umożliwia aplikacjom do obsługi czatu wyświetlanie czatów i wysyłanie wiadomości. Przyznaje dostęp do wszystkich funkcji dostępnych dla aplikacji do obsługi czatu. |
Zakresy wrażliwe
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Tworzenie rozmów i pokoi oraz wyświetlanie i aktualizowanie metadanych (w tym ustawień historii) w Google Chat. |
https://www.googleapis.com/auth/chat.spaces.create
|
Tworzenie nowych rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.spaces.readonly
|
Wyświetlanie czatu i pokoi w Google Chat. |
https://www.googleapis.com/auth/chat.memberships
|
Wyświetlaj, dodawaj i usuwaj uczestników rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.memberships.app
|
Dodawanie siebie do rozmów w Google Chat i usuwanie się z nich. |
https://www.googleapis.com/auth/chat.memberships.readonly
|
Wyświetl uczestników rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.messages.create
|
Tworzenie i wysyłanie wiadomości w Google Chat. |
https://www.googleapis.com/auth/chat.messages.reactions
|
Wyświetlaj, dodawaj i usuwaj reakcje na wiadomości w Google Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Dodawanie reakcji do wiadomości w Google Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Wyświetlanie reakcji na wiadomość w Google Chat. |
Zakresy z ograniczeniami
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.delete
|
usuwać rozmowy i pokoje oraz odbierać dostęp do powiązanych plików w Google Chat. |
https://www.googleapis.com/auth/chat.import
|
Importuj pokoje, wiadomości i subskrypcje do Google Chat. Więcej informacji znajdziesz w artykule o autoryzowaniu aplikacji Google Chat do importowania danych. |
https://www.googleapis.com/auth/chat.messages
|
Wyświetlanie, tworzenie, wysyłanie, aktualizowanie i usuwanie wiadomości oraz dodawanie, wyświetlanie i usuwanie reakcji na wiadomości. |
https://www.googleapis.com/auth/chat.messages.readonly
|
Wyświetlanie wiadomości i reakcji w Google Chat. |
Zakresy w poprzednich tabelach wskazują ich wrażliwość, zgodnie z tymi definicjami:
Niepoufne – te zakresy zapewniają najmniejszy zakres uprawnień dostępu do autoryzacji i wymagają tylko podstawowej weryfikacji aplikacji. Więcej informacji na temat tego wymogu znajdziesz w artykule Jak przygotować się do weryfikacji.
Poufne – te zakresy zapewniają aplikacji dostęp do danych Google konkretnego użytkownika po otrzymaniu od niego autoryzacji. Wymaga ona dodatkowej weryfikacji aplikacji. Więcej informacji na ten temat znajdziesz w artykule Czynności, które należy wykonać w przypadku aplikacji, które wymagają poufnych zakresów.
Z ograniczonym dostępem – te zakresy zapewniają szeroki dostęp do danych użytkowników Google i wymagają przejścia procesu weryfikacji zakresu ograniczonego. Informacje na temat tego wymogu znajdziesz w artykułach Usługi interfejsu API Google: zasady dotyczące danych użytkownika i Dodatkowe wymagania dotyczące określonych zakresów interfejsu API. Zapoznaj się też z instrukcjami dotyczącymi aplikacji, które wymagają ograniczonych zakresów.
Jeśli Twoja aplikacja wymaga dostępu do innych interfejsów API Google, możesz też dodać te zakresy. Więcej informacji o zakresach interfejsów API Google znajdziesz w artykule o korzystaniu z protokołu OAuth 2.0 do uzyskiwania dostępu do interfejsów API Google.
Więcej informacji o zakresach dla interfejsów API Google Workspace znajdziesz w artykule o konfigurowaniu ekranu zgody OAuth i wyborze zakresów.
Typy wymaganych uwierzytelniania
Są 2 sposoby uwierzytelniania i autoryzowania aplikacji do obsługi czatu przy użyciu interfejsu Chat API: dane logowania użytkownika lub konta usługi.
Dzięki autoryzacji danych logowania użytkownika aplikacja do obsługi czatu może uzyskiwać dostęp do danych użytkownika i wykonywać w jego imieniu działania. Zakresy protokołu OAuth określają autoryzowane dane i działania. Takich aplikacji nie można jednak publikować publicznie. Więcej informacji znajdziesz w artykule Publikowanie aplikacji w Google Chat.
Dzięki autoryzacji aplikacji do obsługi czatu aplikacja do obsługi czatu uzyskuje dostęp do interfejsu API jako aplikacja za pomocą danych logowania na konto usługi. Autoryzacja aplikacji zawsze używa zakresu autoryzacji chat.bot
.
Jeśli jesteś administratorem domeny, możesz przyznać przekazywanie uprawnień w całej domenie w celu autoryzacji konta usługi aplikacji na dostęp do danych użytkowników bez konieczności udzielania zgody przez każdego z nich. Po skonfigurowaniu przekazywania dostępu w całej domenie możesz wywoływać wywołania interfejsu API przy użyciu konta usługi, aby podszywać się pod konto użytkownika. Mimo że konto usługi służy do uwierzytelniania, przekazywanie dostępu w całej domenie podszywa się pod użytkownika i dlatego jest uważane za uwierzytelnianie użytkownika. Wszystkie funkcje, które wymagają uwierzytelniania użytkowników, mogą korzystać z przekazywania w całej domenie.
Wybierając typ danych logowania, które mają być użyte w przypadku danego żądania do interfejsu API, pamiętaj, że niektóre metody interfejsu API obsługują tylko określony typ danych logowania. Jeśli metoda interfejsu API obsługuje oba dane logowania, typ danych logowania użytych w wywołaniu wpływa na zwracany wynik:
- W przypadku autoryzacji aplikacji metody zwracają tylko zasoby, do których aplikacja ma dostęp.
- W przypadku autoryzacji użytkownika metody zwracają tylko zasoby, do których użytkownik ma dostęp w interfejsie użytkownika Google Chat.
Na przykład wywołanie metody ListSpaces
z autoryzacją aplikacji zwróci listę pokoi, do których należy aplikacja. Wywołanie metody ListSpaces
z autoryzacją użytkownika zwraca listę pokoi, do których użytkownik należy. W praktyce aplikacja może używać obu typów autoryzacji podczas wywoływania interfejsu Chat API w zależności od tego, jakich funkcji potrzebujesz.
Asynchroniczne wywołania interfejsu Chat API
W tabeli poniżej znajdziesz metody interfejsu Chat API i obsługiwane przez nie zakresy autoryzacji:
Metoda | Obsługiwane uwierzytelnianie użytkowników | Obsługiwane jest uwierzytelnianie aplikacji. | Obsługiwane zakresy autoryzacji | |
---|---|---|---|---|
Pokoje | ||||
Tworzenie pokoju | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Konfigurowanie pokoju | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Rezerwowanie pokoju |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Wyświetlanie listy pokoi |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Aktualizowanie pokoju | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Usuwanie pokoju | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Importowanie pokoju | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Znajdowanie czatu |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Członkowie | ||||
Tworzenie subskrypcji | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Kup subskrypcję |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Członkowie listy |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Usuwanie użytkownika | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Wiadomości | ||||
Tworzenie wiadomości |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Otrzymywanie wiadomości |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Wyświetl listę wiadomości | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Aktualizowanie wiadomości |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Usuwanie wiadomości |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Reakcje | ||||
Tworzenie reakcji | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Reakcje na liście | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Usuwanie reakcji | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Multimedia i załączniki | ||||
Przesyłanie multimediów jako załącznika | — |
Przy użyciu uwierzytelniania użytkownika:
|
||
Pobieranie multimediów |
Przy użyciu uwierzytelniania użytkownika:
|
|||
Pobieranie załącznika do wiadomości | — |
Z użyciem uwierzytelniania aplikacji:
|
W przypadku zdarzeń interakcji z aplikacją Google Chat
W tabeli poniżej znajdziesz typowe sposoby interakcji użytkowników z aplikacjami Google Chat oraz informacje o tym, czy uwierzytelnianie jest wymagane czy obsługiwane:
Scenariusz | Uwierzytelnianie nie jest wymagane | Obsługiwane uwierzytelnianie użytkowników | Obsługiwane jest uwierzytelnianie aplikacji. | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Odbieraj wiadomości od: |
|
|||||||||||||||
Odpowiadanie na wiadomości: |
|
|||||||||||||||
Wysyłaj nowe wiadomości: |
|
Powiązane artykuły
- Więcej informacji o uwierzytelnianiu i autoryzacji w Google Workspace znajdziesz w artykule Więcej informacji o uwierzytelnianiu i autoryzacji.
- Więcej informacji o uwierzytelnianiu i autoryzacji w Google Cloud znajdziesz w artykule Omówienie uwierzytelniania.
- Więcej informacji o kontach usługi znajdziesz w artykule o kontach usługi.
- Więcej informacji o tym, jak interfejsy API Google wykorzystują OAuth 2.0, znajdziesz w artykule o używaniu OAuth 2.0 do uzyskiwania dostępu do interfejsów API Google.
- Skonfiguruj uwierzytelnianie i autoryzację za pomocą danych logowania użytkownika lub konta usługi.