Z tego artykułu dowiesz się, jak połączyć aplikację Google Chat z usługą lub narzędziem, które nie są częścią Google Chat. Aplikacje do obsługi czatu są potężne same w sobie, 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ę do obsługi czatu, wykonaj jeden z tych przewodników Szybki start na podstawie architektury aplikacji, której chcesz użyć:- Usługa HTTP z Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
Wysyłanie do użytkownika prośby o skonfigurowanie aplikacji do obsługi czatu
Jeśli do zrealizowania żądania wymagana jest dodatkowa konfiguracja, której nie można przeprowadzić bezpośrednio w aplikacji do obsługi czatu, zwróć użytkownikowi adres URL konfiguracji w ramach zwykłej odpowiedzi lub wyświetl go prywatnie w tej postaci:
{
"actionResponse": {
"type": "REQUEST_CONFIG",
"url": "CONFIGURATION_URL"
}
}
Dzięki temu Google Chat wyświetli użytkownikowi prywatny prompt, w którym CONFIGURATION_URL jest linkiem, który użytkownik może kliknąć, aby uzyskać dodatkowe uwierzytelnienie, autoryzację lub konfigurację. Odpowiedź REQUEST_CONFIG wyklucza zwykłą wiadomość z odpowiedzią. Tekst, karty i inne atrybuty są ignorowane.
Realizowanie prośby o konfigurację
Każde zdarzenie interakcji
MESSAGE, ADDED_TO_SPACE, i APP_COMMAND
, które otrzymuje Twoja aplikacja do obsługi czatu, zawiera też pole
configCompleteRedirectUrl. Musisz zakodować ten adres URL w adresie URL konfiguracji, aby można go było użyć po zakończeniu procesu. Przekierowanie na ten adres URL sygnalizuje Google Chat, że prośba o konfigurację została zrealizowana.
Gdy aplikacja do obsługi czatu się uruchamia, jej działanie zależy od otrzymanej wiadomości. W odpowiedzi na wiadomość taką jak @app help aplikacja do obsługi czatu powinna odpowiedzieć wiadomością bez konieczności dodatkowej konfiguracji.
Gdy użytkownik zostanie przekierowany na adres configCompleteRedirectUrl podany w oryginalnej wiadomości, Google Chat wykona te czynności:
- Usunie prompt wyświetlony użytkownikowi, który zainicjował działanie.
- Przekształci oryginalną wiadomość w publiczną, dzięki czemu będzie ona widoczna dla innych osób w pokoju.
- Ponownie wyśle oryginalną wiadomość do tej samej aplikacji do obsługi czatu.
Otwarcie adresu configCompleteRedirectUrl wpływa tylko na jedną wiadomość użytkownika.
Jeśli użytkownik kilka razy próbował wysłać wiadomość do aplikacji do obsługi czatu i w rezultacie otrzymał kilka promptów, kliknięcie konkretnego prompta i ukończenie procesu uwierzytelniania i konfiguracji wpłynie tylko na tę konkretną wiadomość. Inne wiadomości nie zostaną zmienione.
Gdy zdarzenie interakcji MESSAGE zostanie ponownie wysłane w ten sposób, powinno być identyczne z oryginalnym zdarzeniem. W niektórych sytuacjach zdarzenia interakcji MESSAGE mogą się jednak różnić. Jeśli na przykład wiadomość zawiera wzmiankę o aplikacji do obsługi czatu A i aplikacji do obsługi czatu B, użytkownik może edytować wiadomość, jeśli aplikacja do obsługi czatu A odpowie zwykłą wiadomością przed uwierzytelnieniem w aplikacji do obsługi czatu B. W takim przypadku aplikacja do obsługi czatu B otrzyma edytowany tekst wiadomości po tym, jak użytkownik zakończy uwierzytelnianie i konfigurację.
Uwierzytelnianie użytkownika Google Chat poza Google Chat
W niektórych przypadkach, np. gdy prosisz o autoryzację OAuth dla interfejsu API, Twoja aplikacja musi zawierać link do adresu URL poza Google Chat, zachowując przy tym tożsamość użytkownika. Najlepszym sposobem na zidentyfikowanie użytkownika w takich przypadkach jest zabezpieczenie aplikacji docelowej za pomocą logowania przez Google.
Aby uzyskać identyfikator użytkownika, użyj
tokena tożsamości
wydanego podczas logowania. Deklaracja 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 przekształcić. Aby
przekształcić wartość deklaracji sub w users/{user} w Google Chat, dodaj na początku
wartość users/. Na przykład wartość deklaracji 123 jest równoważna
nazwie użytkownika users/123 w wiadomościach do Twojej
aplikacji do obsługi czatu.
Powiązane artykuły
- Otrzymywanie odpowiedzi na interakcje użytkowników
- Przykład aplikacji MyProfile używa tokena tożsamości z odpowiedzi logowania przez Google do identyfikowania użytkownika.