Łączenie aplikacji Google Chat z innymi usługami i narzędziami

Na tej stronie dowiesz się, jak połączyć aplikację Google Chat z usługą lub narzędziem spoza Google Chat. Chociaż aplikacje Google Chat są bardzo zaawansowane, często działają razem z innymi systemami i wymagają aplikacji towarzyszących do łączenia kont, autoryzowania dostępu do danych, wyświetlania dodatkowych danych i konfigurowania preferencji użytkownika.

Wysyłanie do użytkownika prośby o konfigurację aplikacji do obsługi czatu

Jeśli wykonanie żądania wymaga dodatkowej konfiguracji, której nie można wprowadzić bezpośrednio w aplikacji Google Chat, zwróć użytkownikowi adres URL konfiguracji w ramach zwykłej odpowiedzi lub przedstaw go prywatnie w tym formularzu:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

Spowoduje to, że Google Chat wyświetli użytkownikowi prywatny prompt, w którym CONFIGURATION_URL to link, który umożliwi użytkownikowi dodatkowe uwierzytelnianie, autoryzację lub konfigurację. Odpowiedź REQUEST_CONFIG wzajemnie się wyklucza ze standardową wiadomością. Tekst, karty i inne atrybuty są ignorowane.

Wykonaj żądanie konfiguracji

Każde zdarzenie interakcji (MESSAGE) odebrane przez aplikację Google Chat zawiera też parametr configCompleteRedirectUrl. Ten adres URL powinien być zakodowany w adresie URL konfiguracji, aby był używany do zakończenia procesu. Przekierowanie na ten adres URL informuje Google Chat, że prośba o konfigurację została zrealizowana.

Proces uruchamiania aplikacji Google Chat zależy od otrzymanej wiadomości. W odpowiedzi na komunikat w rodzaju @app help aplikacja do obsługi czatu powinna odpowiedzieć, bez konieczności dodatkowej konfiguracji.

Gdy użytkownik zostanie przekierowany do usługi configCompleteRedirectUrl podanego w oryginalnej wiadomości, Google Chat wykona te czynności:

  1. Usuń prompt wyświetlany użytkownikowi inicjującego.
  2. Przekonwertuj oryginalną wiadomość na publiczną, aby była widoczna dla innych osób w pokoju.
  3. Wyślij ponownie oryginalną wiadomość do tej samej aplikacji Google Chat.

Odwiedzenie strony configCompleteRedirectUrl ma wpływ tylko na 1 wiadomość użytkownika. Jeśli użytkownik kilka razy próbował wysłać wiadomość do aplikacji Google Chat i w rezultacie otrzymał kilka próśb, kliknięcie konkretnego promptu i ukończenie procesu uwierzytelniania i konfiguracji ma wpływ tylko na tę wiadomość. Pozostałe komunikaty się nie zmienią.

Gdy zdarzenie interakcji MESSAGE zostanie ponownie wysłane w ten sposób, powinno być identyczne z pierwotnym zdarzeniem, jednak w niektórych sytuacjach zdarzenia interakcji MESSAGE mogą się różnić. Jeśli na przykład wiadomość zawiera wzmiankę o zarówno aplikacji Google Chat A, jak i aplikacji Google Chat B, użytkownik może ją edytować, jeśli przed uwierzytelnieniem w aplikacji B aplikacja Google Chat A odpowie zwykłą wiadomością. W tym przypadku aplikacja Google Chat B otrzyma edytowany tekst wiadomości, gdy użytkownik ukończy uwierzytelnianie i konfigurację.

Uwierzytelnianie użytkownika Google Chat poza Google Chat

W niektórych przypadkach, na przykład w przypadku żądania autoryzacji OAuth dla interfejsu API, aplikacja musi utworzyć link do adresu URL spoza Google Chat przy zachowaniu tożsamości użytkownika. W takich przypadkach najlepszym sposobem na zidentyfikowanie użytkownika jest ochrona aplikacji docelowej za pomocą logowania przez Google.

Użyj tokena tożsamości wydanego podczas logowania, aby uzyskać identyfikator użytkownika. Deklaracja sub zawiera unikalny identyfikator użytkownika i można ją skorelować z identyfikatorem użytkownika z Google Chat.

Chociaż nie są one identyczne, mogą zostać zmienione. Aby przenieść wartość żądania sub na element users/{user} w Google Chat, dodaj wartość na początku users/. Na przykład wartość deklaracji 123 jest równoważna nazwie użytkownika users/123 w wiadomościach wysyłanych do aplikacji Google Chat.