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ć:- Usługa HTTP z Google Cloud Functions
- Google Apps Script
- Google Cloud Dialogflow CX
- Google Cloud Pub/Sub
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_SPACE
i APP_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 configCompleteRedirectUrl
podany w oryginalnej wiadomości, Google Chat wykona te czynności:
- Usuń prompt wyświetlony użytkownikowi, który zainicjował działanie.
- przekształcić oryginalną wiadomość w publiczną, aby była widoczna dla innych osób w pokoju;
- 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.
Powiązane artykuły
- Otrzymywanie odpowiedzi na interakcje użytkowników
- Przykładowa aplikacja MyProfile używa tokena tożsamości z odpowiedzi logowania przez Google do identyfikowania użytkownika.