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

Z tego artykułu dowiesz się, jak połączyć aplikację Google Chat z usługą lub narzędziem spoza Google Chat. Aplikacje Google Chat są same w sobie bardzo przydatne, ale często działają w połączeniu z innymi systemami i wymagają aplikacji towarzyszących do łączenia kont, autoryzowania dostępu do danych, wyświetlania dodatkowych danych lub konfigurowania preferencji użytkownika.

Wymagania wstępne

Aplikacja Google Chat skonfigurowana do odbierania zdarzeń interakcji i odpowiadania na nie. Aby utworzyć interaktywną aplikację Google Chat, wykonaj jeden z tych przewodników Szybki start, w zależności od architektury aplikacji, której chcesz użyć:

Prośba o konfigurację aplikacji Chat od użytkownika

Jeśli realizacja prośby wymaga dodatkowej konfiguracji, której nie można przeprowadzić bezpośrednio w aplikacji do obsługi czatu, w ramach normalnej odpowiedzi zwróć użytkownikowi adres URL konfiguracji lub przedstaw go prywatnie w tej formie:

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

To polecenie informuje Google Chat, aby wyświetlić użytkownikowi prywatny prompt, w którym CONFIGURATION_URL to link,CONFIGURATION_URL który użytkownik może otworzyć, aby uzyskać dodatkowe uwierzytelnianie, autoryzację lub konfigurację. REQUEST_CONFIG Odpowiedź wyklucza się wzajemnie ze zwykłą wiadomością z odpowiedzią. Wszelkie teksty, karty i inne atrybuty są ignorowane.

Wypełnianie prośby o konfigurację

Każde zdarzenie interakcji MESSAGE, ADDED_TO_SPACEAPP_COMMAND, które otrzymuje aplikacja Google Chat, zawiera też pole configCompleteRedirectUrl. Musisz zakodować ten adres URL w adresie URL konfiguracji, aby użyć go po zakończeniu procesu. Przekierowanie na ten adres URL sygnalizuje Google Chat, że żądanie konfiguracji zostało spełnione.

Gdy aplikacja Google Chat się uruchomi, przebieg zależy od otrzymanej wiadomości. W odpowiedzi na wiadomość taką jak @app help aplikacja do czatowania powinna odpowiedzieć wiadomością bez konieczności dodatkowej konfiguracji.

Gdy użytkownik zostanie przekierowany na adres configCompleteRedirectUrlpodany w oryginalnej wiadomości, Google Chat wykona te czynności:

  1. Usuń prompt wyświetlony użytkownikowi, który zainicjował działanie.
  2. przekształcić oryginalną wiadomość w publiczną, aby była widoczna dla innych osób w pokoju;
  3. Ponownie wyślij oryginalną wiadomość do tej samej aplikacji do obsługi czatu.

Odwiedzenie configCompleteRedirectUrl wpływa tylko na jedną wiadomość użytkownika. Jeśli użytkownik kilka razy próbował wysłać wiadomość do aplikacji w Google Chat i w rezultacie otrzymał kilka próśb, kliknięcie konkretnej prośby i ukończenie procesu uwierzytelniania i konfiguracji wpłynie tylko na tę konkretną wiadomość. Pozostałe wiadomości nie ulegną zmianie.

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

Uwierzytelnianie użytkownika Google Chat poza usługą Chat

W niektórych przypadkach, np. podczas żądania autoryzacji OAuth dla interfejsu API, aplikacja musi połączyć się z adresem URL poza Chatem, zachowując tożsamość użytkownika. Najlepszym sposobem identyfikacji użytkownika w takich przypadkach jest zabezpieczenie aplikacji docelowej za pomocą logowania przez Google.

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

Chociaż te 2 identyfikatory nie są identyczne, można je ze sobą powiązać. Aby przekształcić wartość roszczenia sub w users/{user} Google Chat, dodaj na początku wartości znak users/. Na przykład wartość roszczenia 123 jest równoważna nazwie użytkownika users/123 w wiadomościach do aplikacji Chat.