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

Z tej strony dowiesz się, jak połączyć aplikację Google Chat z usługą lub narzędziem spoza Google Chat. Aplikacje Google Chat są potężne same w sobie, ale często współpracują z innymi systemami i wymagają aplikacji towarzyszących, aby łączyć konta, autoryzować dostęp do danych, wyświetlać dodatkowe dane lub konfigurować ustawienia użytkownika.

Wymagania wstępne

Aplikacja Google Chat, w której włączono funkcje interaktywne. Aby utworzyć interaktywną aplikację Google Chat, wykonaj jeden z tych samouczków w zależności od architektury aplikacji, której chcesz użyć:

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

Jeśli realizacja prośby wymaga dodatkowej konfiguracji, której nie można wykonać bezpośrednio w aplikacji Google Chat, podaj użytkownikowi adres URL konfiguracji w ramach zwykłej odpowiedzi lub w ramach prywatnej wiadomości w takim formacie:

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

Ta opcja powoduje, że Google Chat wyświetla użytkownikowi prywatne prompty, gdzie CONFIGURATION_URL to link do strony, na której użytkownik może przejść, aby przeprowadzić dodatkową weryfikację, autoryzację lub konfigurację. Odpowiedź REQUEST_CONFIG jest wykluczona z odpowiedzi zwykłej. Tekst, karty i inne atrybuty są ignorowane.

Wypełnij prośbę o konfigurację

Każde zdarzenie MESSAGEinterakcji, które otrzymuje Twoja aplikacja Google Chat, zawiera też pole configCompleteRedirectUrl. Musisz zakodować ten adres URL w adresie URL konfiguracji, który będzie używany po zakończeniu procesu. Przekierowanie na ten adres URL sygnalizuje Google Chat, że żądanie konfiguracji zostało spełnione.

Gdy uruchamiasz aplikację Google Chat, proces zależy od otrzymanej wiadomości. W odpowiedzi na wiadomość, taką jak @app help, aplikacja czatu powinna wysłać wiadomość bez konieczności dodatkowej konfiguracji.

Gdy użytkownik zostanie przekierowany do configCompleteRedirectUrlpodanego w oryginalnej wiadomości, Google Chat wykona te czynności:

  1. Wymaż prompt wyświetlany użytkownikowi inicjującemu.
  2. Przekształć oryginalną wiadomość w publiczną, aby była widoczna dla innych osób w pokoju.
  3. Wysłać pierwotną wiadomość do tej samej aplikacji Chat po raz drugi.

Odwiedzenie configCompleteRedirectUrl ma wpływ tylko na jedną wiadomość użytkownika. Jeśli użytkownik próbował wysłać wiadomość do aplikacji Google Chat kilka razy i w wyniku tego otrzymał kilka monitów, kliknięcie konkretnego monitu i ukończenie procesu uwierzytelniania i konfiguracji ma wpływ tylko na tę konkretną wiadomość. Pozostałe komunikaty nie ulegają zmianie.

Gdy w ten sposób wysyłasz zdarzenie interakcji MESSAGE, powinno ono być identyczne z pierwotnym zdarzeniem. W niektórych sytuacjach zdarzenia interakcji MESSAGE mogą się jednak różnić. Jeśli na przykład wiadomość zawiera wzmianki o aplikacji Google Chat A i aplikacji Google Chat B, użytkownik może ją edytować, jeśli aplikacja Google Chat A odpowie zwykłą wiadomością, zanim uwierzytelni się w aplikacji Google Chat B. W tym przypadku aplikacja do czatu B otrzymuje zaktualizowany tekst wiadomości po tym, jak użytkownik przejdzie uwierzytelnianie i konfigurację.

Uwierzytelnienie użytkownika Google Chat poza Google Chat

W niektórych przypadkach, np. gdy żądasz autoryzacji OAuth dla interfejsu API, Twoja aplikacja musi zawierać link do adresu URL spoza Google Chat, zachowując tożsamość użytkownika. W takich przypadkach najlepszym sposobem na zidentyfikowanie użytkownika jest zabezpieczenie aplikacji docelowej za pomocą logowania w Google.

Aby uzyskać identyfikator użytkownika, użyj tokenu tożsamości wydanego podczas logowania. Parametr sub zawiera unikalny identyfikator użytkownika i może być powiązany z identyfikatorem użytkownika z Google Chat.

Chociaż te 2 identyfikatory nie są identyczne, można je zmusić do tego, aby były identyczne. Aby wymusić wartość atrybutu sub w Google Chat users/{user}, dodaj do wartości znak users/. Na przykład wartość roszczenia 123 jest równoważna nazwie użytkownika users/123 w wiadomościach do Twojej aplikacji Chat.