Z tego przewodnika dowiesz się, jak używać metody create()
w zasobach Message
interfejsu Google Chat API, aby wykonać jedną z tych czynności:
- wysyłać wiadomości zawierające tekst, karty i interaktywne widżety;
- Wysyłanie wiadomości prywatnych do konkretnego użytkownika Google Chat.
- Rozpocznij wątek wiadomości lub odpowiedz na niego.
- Nazwij wiadomość, aby móc ją określić w innych żądaniach do interfejsu Chat API.
Maksymalny rozmiar wiadomości (wraz z tekstem i kartami) to 32 000 bajtów. Aby można było wysłać wiadomość przekraczającą ten rozmiar, aplikacja Google Chat musi wysłać więcej niż 1 wiadomość.
Oprócz wywoływania interfejsu Chat API w celu tworzenia wiadomości aplikacje Google Chat mogą tworzyć i wysyłać wiadomości w odpowiedzi na interakcje użytkowników, np. opublikować wiadomość powitalną po dodaniu przez użytkownika aplikacji Google Chat do pokoju. Odpowiadając na interakcje, aplikacje Google Chat mogą używać innych typów funkcji wiadomości, w tym dialogów interaktywnych i interfejsów podglądu linków. Aby odpowiedzieć użytkownikowi, aplikacja Google Chat zwraca wiadomość synchronicznie, bez wywoływania interfejsu Chat API. Więcej informacji o wysyłaniu wiadomości w odpowiedzi na interakcje znajdziesz w artykule Otrzymywanie i odpowiadanie na interakcje za pomocą aplikacji Google Chat.
Jak Google Chat wyświetla i przypisuje wiadomości utworzone za pomocą interfejsu API czatu
Metodę create()
możesz wywołać, korzystając z uwierzytelniania aplikacji i uwierzytelniania użytkownika.
Atrybuty nadawcy wiadomości w Google Chat są różne w zależności od typu uwierzytelniania, którego używasz.
Gdy uwierzytnisz się jako aplikacja Google Chat, to właśnie ona wyśle wiadomość.
Gdy uwierzytelnisz się jako użytkownik, aplikacja Google Chat wyśle wiadomość w imieniu tego użytkownika. Chat przypisuje też do wiadomości aplikację Google Chat, wyświetlając jej nazwę.
Typ uwierzytelniania określa też, które funkcje i interfejsy wiadomości możesz uwzględnić w wiadomości. Dzięki uwierzytelnianiu aplikacji aplikacje Google Chat mogą wysyłać wiadomości zawierające tekst, interfejsy oparte na kartach i interaktywne widżety. Użytkownicy Google Chat mogą wysyłać tylko tekst, więc podczas tworzenia wiadomości za pomocą uwierzytelniania użytkownika możesz uwzględnić tylko tekst. Więcej informacji o funkcjach przesyłania wiadomości dostępnych w interfejsie Chat API znajdziesz w artykule Omówienie wiadomości w Google Chat.
Z tego przewodnika dowiesz się, jak za pomocą dowolnego typu uwierzytelniania wysłać wiadomość za pomocą interfejsu Chat API.
Wymagania wstępne
Node.js
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis swojej aplikacji Google Chat.
- Zainstaluj bibliotekę klienta Cloud dla Node.js.
- Utwórz poświadczenia dostępu na podstawie sposobu uwierzytelniania w żądaniu interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik Google Chat, utwórz dane logowania z identyfikatorem klienta OAuth i zapisz je w pliku JSON o nazwie
client_secrets.json
w katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja Google Chat, utwórz dane logowania do konta usługi i zapisz je w pliku JSON o nazwie
credentials.json
.
- Aby uwierzytelnić się jako użytkownik Google Chat, utwórz dane logowania z identyfikatorem klienta OAuth i zapisz je w pliku JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić użytkownika czy aplikację Google Chat.
- Pokój Google Chat, którego użytkownik uwierzytelniony lub wywołująca aplikacja Google Chat jest członkiem. Aby uwierzytelnić się jako aplikacja Google Chat, dodaj ją do pokoju.
Python
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta Cloud dla Pythona.
- Utwórz dane logowania na podstawie tego, jak chcesz się uwierzytelnić w żądaniu do interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik Google Chat, utwórz dane logowania z identyfikatorem klienta OAuth i zapisz je w pliku JSON o nazwie
client_secrets.json
w katalogu lokalnym. - Aby uwierzytelnić się jako aplikacja Google Chat, utwórz dane logowania do konta usługi i zapisz je w pliku JSON o nazwie
credentials.json
.
- Aby uwierzytelnić się jako użytkownik Google Chat, utwórz dane logowania z identyfikatorem klienta OAuth i zapisz je w pliku JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić użytkownika czy aplikację Google Chat.
- Pokój Google Chat, którego użytkownik uwierzytelniony lub wywołująca aplikacja Google Chat jest członkiem. Aby uwierzytelnić się jako aplikacja Google Chat, dodaj ją do pokoju.
Java
- Konto Google Workspace w wersji Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth.
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta Cloud w Javie.
- Utwórz poświadczenia dostępu na podstawie sposobu uwierzytelniania w żądaniu interfejsu Google Chat API:
- Aby uwierzytelnić się jako użytkownik czatu, utwórz dane logowania OAuth z identyfikatorem klienta i zapisz je w katalogu lokalnym w pliku JSON o nazwie
client_secrets.json
. - Aby uwierzytelnić się jako aplikacja Google Chat, utwórz dane logowania do konta usługi i zapisz je w pliku JSON o nazwie
credentials.json
.
- Aby uwierzytelnić się jako użytkownik czatu, utwórz dane logowania OAuth z identyfikatorem klienta i zapisz je w katalogu lokalnym w pliku JSON o nazwie
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz uwierzytelnić użytkownika czy aplikację Google Chat.
- Pokój Google Chat, którego użytkownik uwierzytelniony lub wywołująca aplikacja Google Chat jest członkiem. Aby uwierzytelnić się jako aplikacja Google Chat, dodaj ją do pokoju.
Google Apps Script
- konto Google Workspace Business lub Enterprise z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth
- Włącz i skonfiguruj interfejs Google Chat API, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Utwórz samodzielny projekt Apps Script i włącz zaawansowaną usługę czatu.
- W tym przewodniku musisz użyć uwierzytelniania użytkownika lub aplikacji. Aby uwierzytelnić się jako aplikacja Google Chat, utwórz dane logowania do konta usługi. Instrukcje znajdziesz w artykule Uwierzytelnianie i autoryzacja jako aplikacja Google Chat.
- Wybierz zakres autoryzacji w zależności od tego, czy chcesz się uwierzytelniać jako użytkownik czy w aplikacji Google Chat.
- Pokój Google Chat, w którym członkiem jest uwierzytelniony użytkownik lub aplikacja do połączeń telefonicznych. Aby uwierzytelnić się jako aplikacja Google Chat, dodaj ją do pokoju.
Wysyłanie wiadomości jako aplikacja Google Chat
W tej sekcji wyjaśniamy, jak wysyłać wiadomości zawierające tekst, karty i interaktywne widżety akcesoriów za pomocą uwierzytelniania aplikacji.
Aby wywołać metodę CreateMessage()
za pomocą uwierzytelniania aplikacji, musisz wypełnić w żądaniu te pola:
- Zakres autoryzacji
chat.bot
. Space
Zasób, w którym chcesz opublikować wiadomość. Aplikacja Google Chat musi należeć do pokoju.- Zasób
Message
do utworzenia. Aby zdefiniować treść wiadomości, możesz dodać tekst multimedialny (text
), jeden lub więcej interfejsów kart (cardsV2
) lub oba te elementy.
Opcjonalnie możesz dodać takie elementy:
- Pole
accessoryWidgets
do uwzględnienia interaktywnych przycisków u dołu wiadomości. - Pole
privateMessageViewer
, aby wysłać wiadomość prywatnie do określonego użytkownika. - Pole
messageId
, które umożliwia nazwanie wiadomości na potrzeby innych żądań interfejsu API. - pola
thread.threadKey
imessageReplyOption
, aby rozpocząć wątek lub odpowiedzieć na niego. Jeśli wątek nie jest używany, to pole jest ignorowane.
Poniższy kod pokazuje, jak aplikacja Google Chat może wysłać wiadomość opublikowaną jako aplikacja Google Chat, która zawiera tekst, kartę i klikalny przycisk u dołu wiadomości:
Node.js
Python
Java
Google Apps Script
Aby uruchomić ten przykład, zastąp wartość SPACE_NAME
identyfikatorem z pola name
w pokoju. Identyfikator możesz uzyskać, wywołując metodę ListSpaces()
lub z adresu URL pokoju.
Dodawanie interaktywnych widżetów u dołu wiadomości
W pierwszym przykładowym kodzie tego przewodnika wiadomość w aplikacji Google Chat zawiera u dołu wiadomości przycisk, który można kliknąć, nazywany widżetem akcesoriów. Widgety akcesoriów pojawiają się po tekście lub kartach w wiadomości. Za pomocą tych widżetów możesz zachęcać użytkowników do interakcji z Twoją wiadomością na wiele sposobów, na przykład:
- ocenić dokładność lub trafność wiadomości;
- Zgłaszanie problemu z aplikacją do wiadomości lub czatu.
- Otwórz link do powiązanych treści, np. dokumentacji.
- Odrzuć podobne wiadomości lub odłóż je na jakiś czas w aplikacji Google Chat.
Aby dodać widżety dodatkowe, umieść pole accessoryWidgets[]
w treści prośby i określ co najmniej 1 widżet, który chcesz dodać.
Na tym obrazie widać aplikację Google Chat, która dołącza do wiadomości tekstowej widżety dodatkowe, aby użytkownicy mogli ocenić swoje wrażenia z korzystania z tej aplikacji.
Poniżej przedstawiono treść żądania, które tworzy wiadomość tekstową z 2 przyciskami pomocniczymi. Gdy użytkownik kliknie przycisk, odpowiednia funkcja (np. doUpvote
) przetworzy tę interakcję:
{
text: "Rate your experience with this Chat app.",
accessoryWidgets: [{ buttonList: { buttons: [{
icon: { material_icon: {
name: "thumb_up"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doUpvote"
}}
}, {
icon: { material_icon: {
name: "thumb_down"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doDownvote"
}}
}]}}]
}
Wysyłanie wiadomości prywatnej
Aplikacje do obsługi czatu mogą wysyłać prywatnie wiadomości, aby były one widoczne tylko dla określonego użytkownika w pokoju. Gdy aplikacja Google Chat wysyła wiadomość prywatną, ta wiadomość zawiera etykietę powiadamiającą użytkownika, że jest ona widoczna tylko dla niego.
Aby wysłać wiadomość prywatnie za pomocą interfejsu Chat API, w ciele żądania podaj pole privateMessageViewer
. Aby określić użytkownika, ustaw wartość na
User
zasób reprezentujący użytkownika Google Chat. Możesz też użyć pola name
zasobu User
, jak pokazano w tym przykładzie:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
Aby użyć tego przykładu, zastąp USER_ID
unikalnym identyfikatorem użytkownika, np. 12345678987654321
lub hao@cymbalgroup.com
. Więcej informacji o wskazywaniu użytkowników znajdziesz w artykule Identyfikowanie i wskazywanie użytkowników Google Chat.
Aby wysłać wiadomość prywatnie, musisz pominąć w prośbie te informacje:
Wysyłanie SMS-a w imieniu użytkownika
W tej sekcji wyjaśniamy, jak wysyłać wiadomości w imieniu użytkownika przy użyciu uwierzytelniania użytkownika. W przypadku uwierzytelniania użytkownika treść wiadomości może zawierać tylko tekst. Nie można używać funkcji wiadomości dostępnych tylko w aplikacjach do czatu, w tym interfejsów kart i interaktywnych widgetów.
Aby wywołać metodę CreateMessage()
za pomocą uwierzytelniania użytkownika, musisz określić w żądaniu te pola:
- Zakres autoryzacji, który obsługuje uwierzytelnianie użytkownika w ramach tej metody. Poniższy przykład korzysta z zakresu
chat.messages.create
. - Zasób
Space
, w którym chcesz opublikować wiadomość. Użytkownik uwierzytelniony musi być członkiem pokoju. - Zasób
Message
, który chcesz utworzyć. Aby zdefiniować treść wiadomości, musisz użyć polatext
.
Opcjonalnie możesz dodać takie elementy:
- Pole
messageId
, które umożliwia nadanie wiadomości nazwy, która ma być używana w innych żądaniach do interfejsu API. - pola
thread.threadKey
imessageReplyOption
, aby rozpocząć wątek lub odpowiedzieć na niego. Jeśli wątek nie jest używany, to pole jest ignorowane.
Ten kod pokazuje, jak aplikacja Google Chat może wysłać wiadomość tekstową w danym pokoju w imieniu uwierzytelnionego użytkownika:
Node.js
Python
Java
Google Apps Script
Aby uruchomić ten przykład, zastąp wartość SPACE_NAME
identyfikatorem z pola name
w pokoju. Identyfikator możesz uzyskać, wywołując metodę ListSpaces()
lub korzystając z adresu URL pokoju.
Rozpoczynanie wątku lub odpowiadanie w nim
W przypadku pokoi, które korzystają z wątków, możesz określić, czy nowa wiadomość ma tworzyć nowy wątek, czy odpowiadać na istniejący.
Domyślnie wiadomości utworzone za pomocą interfejsu API czatu uruchamiają nowy wątek. Aby łatwiej zidentyfikować wątek i odpowiedzieć na niego później, możesz podać w swoim żądaniu klucz wątku:
- W treści żądania określ pole
thread.threadKey
. - Podaj parametr zapytania
messageReplyOption
, aby określić, co się stanie, jeśli klucz już istnieje.
Aby utworzyć wiadomość, która będzie odpowiedzią na istniejący wątek:
- W treści żądania uwzględnij pole
thread
. Jeśli jest ustawiony, możesz podać utworzony przez siebiethreadKey
. W przeciwnym razie musisz użyćname
wątku. - Określ parametr zapytania
messageReplyOption
.
Poniższy kod pokazuje przykład tego, jak aplikacja Google Chat może wysłać wiadomość tekstową, która rozpoczyna lub odpowiada na dany wątek zidentyfikowany przez klucz danego pokoju w imieniu uwierzytelnionego użytkownika:
Node.js
Python
Java
Google Apps Script
Aby uruchomić ten przykład, zastąp to:
THREAD_KEY
: klucz wątku w pokoju lub nazwa wątku, jeśli chcesz utworzyć nowy wątek.SPACE_NAME
: identyfikator z polaname
w pokoju. Identyfikator możesz uzyskać, wywołując metodęListSpaces()
lub korzystając z adresu URL pokoju.
Nazwa wiadomości
Aby pobrać lub określić wiadomość w przyszłych wywołaniach interfejsu API, możesz nadać jej nazwę, ustawiając pole messageId
w żądaniu.
Nazwanie wiadomości umożliwia jej określenie bez konieczności przechowywania przypisanego przez system identyfikatora z nazwy zasobu wiadomości (reprezentowanej w polu name
).
Aby na przykład pobrać wiadomość za pomocą metody get()
, użyj nazwy zasobu, aby określić, którą wiadomość chcesz pobrać. Nazwa zasobu ma format spaces/{space}/messages/{message}
, gdzie {message}
to identyfikator przypisany przez system lub nazwa niestandardowa ustawiona podczas tworzenia wiadomości.
Aby nadać nazwę wiadomości, podczas jej tworzenia w polu messageId
wpisz niestandardowy identyfikator. Pole messageId
ustawia wartość pola clientAssignedMessageId
zasobu Message
.
Nazwę wiadomości można nadać tylko podczas jej tworzenia. Nie możesz nadać nazwy ani zmodyfikować identyfikatora niestandardowego istniejących wiadomości. Niestandardowy identyfikator musi spełniać te wymagania:
- Zaczyna się od
client-
. Na przykładclient-custom-name
jest prawidłowym identyfikatorem niestandardowym, alecustom-name
już nie. - Może zawierać maksymalnie 63 znaki i tylko małe litery, cyfry oraz łączniki.
- jest niepowtarzalna w obrębie przestrzeni; Aplikacja Google Chat nie może używać tego samego identyfikatora niestandardowego w przypadku różnych wiadomości.
Ten kod pokazuje przykład tego, jak aplikacja Google Chat może wysłać wiadomość tekstową z identyfikatorem do danego pokoju w imieniu zalogowanego użytkownika:
Node.js
Python
Java
Google Apps Script
Aby uruchomić ten przykład, zastąp:
SPACE_NAME
: identyfikator z polaname
pokoju. Identyfikator możesz uzyskać, wywołując metodęListSpaces()
lub korzystając z adresu URL pokoju.MESSAGE-ID
: nazwa wiadomości zaczynającej się odcustom-
. Musi być niepowtarzalna w porównaniu z innymi nazwami wiadomości utworzonymi przez aplikację Google Chat w wybranej przestrzeni.
Rozwiązywanie problemów
Gdy aplikacja Google Chat lub karta zwraca błąd, interfejs Google Chat wyświetla komunikat „Coś poszło nie tak”. lub „Nie udało się przetworzyć Twojej prośby”. Czasami interfejs czatu nie wyświetla żadnego komunikatu o błędzie, ale aplikacja lub karta czatu powoduje nieoczekiwany wynik, na przykład wiadomość na karcie może się nie wyświetlić.
Komunikat o błędzie może się nie wyświetlać w interfejsie czatu, ale gdy włączone jest rejestrowanie błędów w przypadku aplikacji czatu, dostępne są opisowe komunikaty o błędach i dane dziennika, które pomogą Ci je naprawić. Aby dowiedzieć się, jak wyświetlać, debugować i naprawiać błędy, przeczytaj artykuł Rozwiązywanie problemów z błędami Google Chat.
Powiązane artykuły
- Korzystaj z Kreatora kart, aby projektować i wyświetlać podgląd wiadomości z kartą JSON na potrzeby aplikacji do czatu.
- Formatowanie wiadomości.
- Wyświetlanie szczegółów wiadomości
- Wyświetlanie wiadomości w pokoju
- Zaktualizuj wiadomość.
- Usuwanie wiadomości
- Identyfikowanie użytkowników w wiadomościach Google Chat
- Wysyłanie wiadomości do Google Chat za pomocą przychodzących webhooków.