Uwierzytelnianie i autoryzacja to mechanizmy służące odpowiednio do weryfikacji tożsamości i dostępu do zasobów. W tym dokumencie opisujemy, jak działa uwierzytelnianie i autoryzacja w przypadku aplikacji do obsługi czatu i żądań do interfejsu Chat API.
Omówienie procesu
Na diagramie poniżej widać ogólne kroki uwierzytelniania i autoryzacji w Google Chat:

Skonfiguruj projekt Google Cloud, włącz interfejs Chat API i skonfiguruj aplikację do obsługi czatu: podczas tworzenia aplikacji utworzysz projekt Google Cloud. W projekcie Google Cloud włączasz interfejs Chat API, konfigurujesz aplikację do obsługi Google Chat i ustawiasz uwierzytelnianie. Więcej informacji znajdziesz w artykułach Tworzenie aplikacji w Google Workspace i Tworzenie aplikacji do obsługi Google Chat.
Wywołanie interfejsu Chat API: gdy aplikacja wywołuje interfejs Chat API, wysyła do niego dane logowania. Jeśli aplikacja uwierzytelnia się za pomocą konta usługi, dane logowania są wysyłane w ramach kodu aplikacji. Jeśli aplikacja wymaga wywołania interfejsu Chat API przy użyciu uwierzytelniania użytkownika, które nie zostało jeszcze przyznane, wyświetli się prośba o zalogowanie.
Żądanie zasobów: aplikacja prosi o dostęp w ramach zakresów określonych podczas konfigurowania uwierzytelniania.
Prośba o zgodę: jeśli aplikacja uwierzytelnia się jako użytkownik, Google wyświetla ekran zgody OAuth, aby użytkownik mógł zdecydować, czy przyznać aplikacji dostęp do żądanych danych. Uwierzytelnianie za pomocą konta usługi nie wymaga zgody użytkownika.
Wysyłanie zatwierdzonego żądania zasobów: jeśli użytkownik wyrazi zgodę na zakresy autoryzacji, aplikacja połączy dane logowania i zakresy zatwierdzone przez użytkownika w jedno żądanie. Żądanie jest wysyłane na serwer 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ż zakresy żądane, aplikacja wyłącza wszystkie funkcje ograniczone przez token.
Dostęp do żądanych zasobów: aplikacja używa tokena dostępu od Google, aby wywoływać interfejs Chat API i uzyskiwać dostęp do jego zasobów.
Uzyskaj token odświeżania (opcjonalnie): jeśli aplikacja musi mieć dostęp do interfejsu Google Chat API po upływie okresu ważności pojedynczego tokena dostępu, może uzyskać token odświeżania. Więcej informacji znajdziesz w artykule Używanie OAuth 2.0 na potrzeby 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 powoduje wysłanie nowej prośby o uzyskanie tokena dostępu (kroki 3–6).
Kiedy aplikacje do czatowania wymagają uwierzytelnienia
Aplikacje Google Chat 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 pobierać listę osób w pokoju czatu.
Aplikacje do obsługi czatu nie wymagają uwierzytelniania, aby odpowiadać na interakcje użytkownika, chyba że podczas przetwarzania odpowiedzi wywołują interfejs Chat API lub inny interfejs API Google.
Aby wysyłać wiadomości asynchroniczne lub wykonywać zadania w imieniu użytkownika, aplikacje Google Chat wysyłają żądania RESTful do interfejsu Chat API, 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 aplikacja do obsługi czatu, aby otrzymywać zdarzenia interakcji i synchronicznie na nie odpowiadać.
Aplikacje Google Chat otrzymują zdarzenia interakcji za każdym razem, gdy użytkownik wchodzi w interakcję z aplikacją lub ją wywołuje. Dotyczy to m.in.:
- Użytkownik wysyła wiadomość do aplikacji do obsługi czatu.
- Użytkownik @wspomina aplikację w Google Chat.
- Użytkownik wywołuje jedno z poleceń aplikacji do obsługi czatu.
Poniższy diagram przedstawia sekwencję żądanie-odpowiedź między użytkownikiem Google Chat a aplikacją Google Chat:

- Użytkownik wysyła wiadomość do aplikacji do obsługi czatu w Google Chat.
- Google Chat przekazuje wiadomość do aplikacji.
- Aplikacja odbiera wiadomość, przetwarza ją i wysyła odpowiedź do Google Chat.
- Google Chat renderuje odpowiedź dla użytkownika lub w pokoju.
Ta sekwencja powtarza się w przypadku każdego zdarzenia interakcji z aplikacją Google Chat.
Wiadomości asynchroniczne wymagają uwierzytelniania
Wiadomości asynchroniczne pojawiają się, gdy aplikacja Google Chat wysyła żądanie do interfejsu Chat API, które wymaga uwierzytelnienia i autoryzacji.
Wywołując interfejs Chat API, aplikacje do obsługi czatu mogą publikować wiadomości w Google Chat lub wykonywać zadania i uzyskiwać dostęp do danych w imieniu użytkownika. Na przykład po wykryciu awarii serwera aplikacja do obsługi czatu może wywołać interfejs Chat API, aby:
- Utwórz pokój w Google Chat przeznaczony do zbadania i naprawienia awarii.
- Dodaj osoby do pokoju w Google Chat.
- Opublikuj wiadomość w pokoju czatu, aby podać szczegóły awarii.
Poniższy diagram przedstawia sekwencję wiadomości asynchronicznych między aplikacją do obsługi czatu a pokojem w Google Chat:

- Aplikacja do obsługi Google Chat tworzy wiadomość, wywołując interfejs Chat API za pomocą metody
spaces.messages.create
i uwzględniając dane logowania użytkownika w żądaniu HTTP. - Google Chat uwierzytelnia aplikację Chat za pomocą konta usługi lub danych logowania użytkownika.
- Google Chat renderuje wiadomość aplikacji w określonym pokoju Google Chat.
Zakresy interfejsu Chat API
Skonfiguruj ekran zgody OAuth i wybierz zakresy, aby określić, jakie informacje będą wyświetlane użytkownikom i osobom weryfikującym aplikację, oraz zarejestrować aplikację, aby móc ją później opublikować.
Aby określić poziom dostępu przyznany aplikacji, musisz zidentyfikować i zadeklarować zakresy autoryzacji. Zakres autoryzacji to ciąg znaków URI OAuth 2.0, który zawiera nazwę aplikacji Google Workspace, rodzaj danych, do których ma ona dostęp, oraz poziom dostępu.
Zakresy niewrażliwe
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.bot
|
Umożliwia aplikacjom Czat wyświetlanie czatów i wysyłanie wiadomości. Ten zakres obsługuje tylko uwierzytelnianie aplikacji za pomocą kont usługi. W tym zakresie nie możesz uwierzytelniać się za pomocą danych logowania użytkownika ani delegowania w całej domenie. |
Zakresy wrażliwe
Kod zakresu | Opis |
---|---|
https://www.googleapis.com/auth/chat.spaces
|
Tworzenie rozmów i pokoi oraz wyświetlanie i edytowanie metadanych (w tym ustawień historii i ustawień dostępu) w Chat. |
https://www.googleapis.com/auth/chat.spaces.create
|
tworzyć nowe rozmowy w 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świetlanie, dodawanie, aktualizowanie i usuwanie uczestników rozmów w Chat. |
https://www.googleapis.com/auth/chat.memberships.app
|
Dodawanie siebie do rozmów w Google Chat i usuwanie siebie z rozmów. |
https://www.googleapis.com/auth/chat.memberships.readonly
|
Wyświetlanie uczestników rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.messages.create
|
tworzyć i wysyłać wiadomości w Google Chat; |
https://www.googleapis.com/auth/chat.messages.reactions
|
Wyświetlanie, dodawanie i usuwanie reakcji na wiadomości w Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.create
|
Dodawanie reakcji do wiadomości w Chat. |
https://www.googleapis.com/auth/chat.messages.reactions.readonly
|
Wyświetlanie reakcji na wiadomość w Chat. |
https://www.googleapis.com/auth/chat.users.readstate
|
Wyświetlanie i modyfikowanie czasu ostatniego odczytu rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.users.readstate.readonly
|
Wyświetlanie czasu ostatniego odczytu rozmów w Google Chat. |
https://www.googleapis.com/auth/chat.admin.spaces.readonly
|
Wyświetlanie czatu i pokoi należących do domeny administratora w Google Chat. |
https://www.googleapis.com/auth/chat.admin.spaces
|
Wyświetlanie i edytowanie czatów i pokoi należących do domeny administratora w Chat. |
https://www.googleapis.com/auth/chat.admin.memberships.readonly
|
Wyświetlanie użytkowników i menedżerów w rozmowach należących do domeny administratora w Chat. |
https://www.googleapis.com/auth/chat.admin.memberships
|
Wyświetlanie, dodawanie, aktualizowanie i usuwanie użytkowników oraz menedżerów w rozmowach należących do domeny administratora w Chat. |
https://www.googleapis.com/auth/chat.app.spaces
|
Tworzenie rozmów i pokoi oraz wyświetlanie i aktualizowanie metadanych (w tym ustawień historii i ustawień dostępu) w Chat. Wymaga zatwierdzenia przez administratora. Ten zakres obsługuje tylko uwierzytelnianie aplikacji za pomocą kont usługi. W tym zakresie nie możesz uwierzytelniać się za pomocą danych logowania użytkownika ani delegowania w całej domenie. |
https://www.googleapis.com/auth/chat.app.spaces.create
|
Tworzenie nowych rozmów i pokoi w Chat. Wymaga zatwierdzenia przez administratora. Ten zakres obsługuje tylko uwierzytelnianie aplikacji za pomocą kont usługi. W tym zakresie nie możesz uwierzytelniać się za pomocą danych logowania użytkownika ani delegowania w całej domenie. |
https://www.googleapis.com/auth/chat.app.memberships
|
Wyświetlanie, dodawanie, aktualizowanie i usuwanie uczestników rozmów i pokoi w Chat. Wymaga zatwierdzenia przez administratora. Ten zakres obsługuje tylko uwierzytelnianie aplikacji za pomocą kont usługi. W tym zakresie nie możesz uwierzytelniać się za pomocą danych logowania użytkownika ani delegowania w całej domenie. |
https://www.googleapis.com/auth/chat.customemojis
|
wyświetlać, tworzyć i usuwać niestandardowe emotikony w Google Chat; |
https://www.googleapis.com/auth/chat.customemojis.readonly
|
wyświetlać niestandardowe emotikony w Google Chat, |
https://www.googleapis.com/auth/chat.users.spacesettings
|
Wyświetlanie i aktualizowanie ustawień pokoju użytkownika 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 Chat; |
https://www.googleapis.com/auth/chat.import
|
Importowanie pokoi, wiadomości i subskrypcji do Google Chat. Więcej informacji znajdziesz w artykule Autoryzowanie 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świetlać wiadomości i reakcje w Chat; |
https://www.googleapis.com/auth/chat.admin.delete
|
usuwać rozmowy i pokoje należące do domeny administratora oraz odbierać dostęp do powiązanych plików w Chat; |
https://www.googleapis.com/auth/chat.app.delete
|
usuwać rozmowy i pokoje oraz odbierać dostęp do powiązanych plików w Chat. Wymaga zatwierdzenia przez administratora. Ten zakres obsługuje tylko uwierzytelnianie aplikacji za pomocą kont usługi. W tym zakresie nie możesz uwierzytelniać się za pomocą danych logowania użytkownika ani delegowania w całej domenie. |
Zakresy w tabelach powyżej wskazują na ich wrażliwość zgodnie z tymi definicjami:
Niewrażliwe – te zakresy zapewniają najmniejszy zakres dostępu autoryzacji i wymagają tylko podstawowej weryfikacji aplikacji. Więcej informacji o tym wymaganiu znajdziesz w artykule o przygotowaniu się do weryfikacji.
Wrażliwe – te zakresy zapewniają aplikacji dostęp do określonych danych użytkownika Google po uzyskaniu od niego autoryzacji. Wymaga to dodatkowej weryfikacji aplikacji. Więcej informacji o tym wymaganiu znajdziesz w artykule Czynności, które muszą wykonać aplikacje proszące o dostęp do zakresów o charakterze poufnym.
Zakresy z ograniczeniami – te zakresy zapewniają szeroki dostęp do danych użytkowników Google i wymagają przejścia procesu weryfikacji zakresów z ograniczeniami. Więcej informacji o tym wymaganiu znajdziesz w zasadach dotyczących danych użytkownika w usługach interfejsu API Google i dodatkowych wymaganiach dotyczących zakresów interfejsu API. Zobacz też Instrukcje dotyczące aplikacji, które wysyłają żądania zakresów z ograniczeniami.
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 Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google.
Więcej informacji o zakresach interfejsów API Google Workspace znajdziesz w artykule Konfigurowanie ekranu zgody OAuth i wybieranie zakresów.
Rodzaje wymaganego uwierzytelniania
Aplikacje do obsługi czatu mogą uwierzytelniać się i autoryzować w interfejsie Chat API na 2 sposoby:
- Uwierzytelnianie użytkowników
- Uwierzytelnianie użytkownika umożliwia aplikacji do czatu dostęp do danych użytkownika i wykonywanie działań w jego imieniu. Zakresy OAuth określają autoryzowane dane i działania. Jeśli aplikacja Chat nie została zainstalowana przez administratora ani nie ma przekazywania dostępu w całej domenie, za pierwszym razem, gdy wykona działanie w imieniu użytkownika, musi on autoryzować aplikację Chat za pomocą ekranu zgody OAuth.
- Uwierzytelnianie aplikacji
Uwierzytelnianie aplikacji umożliwia aplikacji do obsługi czatu korzystanie z danych logowania konta usługi oraz uzyskiwanie dostępu do danych i wykonywanie działań w jej własnym imieniu. Ponieważ aplikacja Chat używa własnych danych logowania do uzyskiwania dostępu do zasobów i pracy z nimi, użytkownicy nie muszą zatwierdzać wywołań interfejsu API aplikacji Chat, a do ekranu zgody OAuth nie można dodawać zakresów autoryzacji OAuth, które obsługują autoryzację aplikacji.
Uwierzytelnianie aplikacji jest obsługiwane przez 2 typy zakresów autoryzacji OAuth:
https://www.googleapis.com/auth/chat.bot
: aplikacja Google Chat może wywoływać metody interfejsu Google Chat API, które obsługują ten zakres autoryzacji, aby tworzyć, aktualizować, pobierać, wyświetlać lub usuwać zasoby, do których ma dostęp, np. wiadomości w pokojach, do których użytkownicy dodają Twoją aplikację Google Chat. Aplikacja do obsługi czatu może samodzielnie przyznać ten zakres autoryzacji. Nie wymaga to autoryzacji administratora ani użytkownika.https://www.googleapis.com/auth/chat.app.*
: Korzystanie z tych zakresów wymaga jednorazowego zatwierdzenia przez administratora. Aby uzyskać zgodę administratora, przygotuj konto usługi aplikacji Google Chat do uzyskania zgody administratora, tworząc zgodnego z Google Workspace Marketplace klienta OAuth i konfigurując aplikację w pakiecie SDK Google Workspace Marketplace. Te zakresy umożliwiają aplikacji Google Chat wywoływanie określonych metod interfejsu Google Chat API. Na przykładchat.app.spaces.create
pozwala aplikacjom tworzyć pokoje w Chat.
Jeśli metoda obsługuje uwierzytelnianie użytkownika lub aplikacji, interfejs Chat API zwraca różne wyniki w zależności od użytego typu uwierzytelniania:
- W przypadku uwierzytelniania aplikacji metody zwracają tylko zasoby, do których aplikacja do obsługi czatu ma dostęp.
- W przypadku uwierzytelniania użytkownika metody zwracają tylko zasoby, do których użytkownik ma dostęp.
Na przykład wywołanie metody spaces.list()
z autoryzacją aplikacji zwraca listę pokoi, w których aplikacja Google Chat jest użytkownikiem.
Wywołanie spaces.list()
z autoryzacją użytkownika zwraca listę przestrzeni, do których należy użytkownik. W praktyce możesz używać obu typów uwierzytelniania podczas wywoływania interfejsu Chat API, w zależności od projektu i funkcji aplikacji do obsługi czatu.
W przypadku asynchronicznych wywołań interfejsu Chat API
W tabeli poniżej znajdziesz listę metod interfejsu Chat API i obsługiwanych zakresów autoryzacji:
Metoda | Uwierzytelnianie użytkowników jest obsługiwane. | Uwierzytelnianie aplikacji jest obsługiwane. | Obsługiwane zakresy autoryzacji | |
---|---|---|---|---|
Pokoje | ||||
Tworzenie pokoju |
W przypadku uwierzytelniania użytkownika:
|
|||
Konfigurowanie pokoju | – |
W przypadku uwierzytelniania użytkownika:
|
||
Uzyskiwanie dostępu do pokoju |
W przypadku uwierzytelniania użytkownika:
|
|||
Wyświetlanie listy pokoi |
W przypadku uwierzytelniania użytkownika:
|
|||
Obszary wyszukiwania | – |
W przypadku uwierzytelniania użytkownika z użyciem uprawnień administratora:
|
||
Aktualizowanie pokoju |
W przypadku uwierzytelniania użytkownika:
|
|||
Usuwanie pokoju |
W przypadku uwierzytelniania użytkownika:
|
|||
Dokończ importowanie pokoju | – |
W przypadku uwierzytelniania użytkownika:
|
||
Znajdowanie wiadomości na czacie |
W przypadku uwierzytelniania użytkownika:
|
|||
Członkowie | ||||
Tworzenie członka |
W przypadku uwierzytelniania użytkownika:
|
|||
Zacznij wspierać kanał |
W przypadku uwierzytelniania użytkownika:
|
|||
Członkowie listy |
W przypadku uwierzytelniania użytkownika:
|
|||
Usuwanie użytkownika |
W przypadku uwierzytelniania użytkownika:
|
|||
Aktualizowanie użytkownika |
W przypadku uwierzytelniania użytkownika:
|
|||
Wiadomości | ||||
Tworzenie wiadomości |
W przypadku uwierzytelniania użytkownika:
|
|||
Otrzymywanie wiadomości |
W przypadku uwierzytelniania użytkownika:
|
|||
Wyświetlanie wiadomości | – |
W przypadku uwierzytelniania użytkownika:
|
||
Aktualizowanie wiadomości |
W przypadku uwierzytelniania użytkownika:
|
|||
Usuwanie wiadomości |
W przypadku uwierzytelniania użytkownika:
|
|||
Reakcje | ||||
Tworzenie reakcji | – |
W przypadku uwierzytelniania użytkownika:
|
||
Wyświetlanie reakcji | – |
W przypadku uwierzytelniania użytkownika:
|
||
Usuwanie reakcji | – |
W przypadku uwierzytelniania użytkownika:
|
||
niestandardowe emotikony, | ||||
Tworzenie niestandardowych emotikonów | – |
W przypadku uwierzytelniania użytkownika:
|
||
Usuwanie niestandardowego emotikona | – |
W przypadku uwierzytelniania użytkownika:
|
||
Uzyskiwanie niestandardowych emotikonów | – |
W przypadku uwierzytelniania użytkownika:
|
||
Wyświetlanie listy niestandardowych emotikonów | – |
W przypadku uwierzytelniania użytkownika:
|
||
Media i załączniki | ||||
Przesyłanie multimediów jako załącznika | – |
W przypadku uwierzytelniania użytkownika:
|
||
Pobieranie multimediów |
W przypadku uwierzytelniania użytkownika:
|
|||
Pobieranie załącznika do wiadomości | – |
W przypadku uwierzytelniania aplikacji:
|
||
Stan odczytu użytkownika | ||||
Pobieranie stanu odczytu przestrzeni użytkownika | – |
W przypadku uwierzytelniania użytkownika:
|
||
Aktualizowanie stanu odczytu miejsca użytkownika | – |
W przypadku uwierzytelniania użytkownika:
|
||
Pobieranie stanu wątku użytkownika | – |
W przypadku uwierzytelniania użytkownika:
|
||
Ustawienia przestrzeni użytkownika | ||||
Pobieranie ustawień powiadomień użytkownika dotyczących pokoju | – |
W przypadku uwierzytelniania użytkownika:
|
||
Aktualizowanie ustawień powiadomień użytkownika dotyczących przestrzeni | – |
W przypadku uwierzytelniania użytkownika:
|
||
Wydarzenia w Space | ||||
Pobieranie zdarzeń dotyczących pokoju | – |
W przypadku uwierzytelniania użytkownika musisz użyć zakresu opartego na
typie zdarzenia:
|
||
Wyświetlanie listy wydarzeń w przestrzeni | – |
W przypadku uwierzytelniania użytkownika musisz użyć zakresu dla każdego
typu zdarzenia uwzględnionego w żądaniu:
|
W przypadku zdarzeń interakcji z aplikacją Google Chat
W tabeli poniżej znajdziesz typowe sposoby interakcji użytkowników z aplikacjami do obsługi czatu oraz informacje o tym, czy uwierzytelnianie jest wymagane lub obsługiwane:
Scenariusz | Uwierzytelnianie nie jest wymagane | Uwierzytelnianie użytkowników jest obsługiwane. | Uwierzytelnianie aplikacji jest obsługiwane. | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Odbieraj wiadomości od: |
|
|||||||||||||||
Odpowiadanie na wiadomości: |
|
|||||||||||||||
Wysyłanie nowych wiadomości: |
|
Powiązane artykuły
- Omówienie uwierzytelniania i autoryzacji w Google Workspace znajdziesz w artykule Uwierzytelnianie i autoryzacja.
- Omówienie uwierzytelniania i autoryzacji w Google Cloud znajdziesz w artykule Uwierzytelnianie – omówienie.
- Więcej informacji o kontach usługi znajdziesz w artykule Konta usługi.
- Więcej informacji o tym, jak interfejsy API Google korzystają z OAuth 2.0, znajdziesz w artykule Używanie protokołu OAuth 2.0 na potrzeby dostępu do interfejsów API Google.
- Skonfiguruj uwierzytelnianie i autoryzację za pomocą danych logowania użytkownika lub konta usługi.