Na tej stronie opisano, jak tworzyć wiadomości, które wyglądają tak, jakby były wpisywane przez użytkownika. Za pomocą SMS-ów możesz prezentować użytkownikom proste informacje. Informacje na temat tworzenia bardziej złożonych wiadomości, które generują karty na czacie, znajdziesz w artykule Wysyłanie wiadomości z karty.
Wymagania wstępne
Aby uruchomić przykłady w tym przewodniku, musisz mieć:
Python
- Python w wersji 3.6 lub nowszej
- Narzędzie do zarządzania pakietami
Biblioteki klienta Google dla Pythona. Zainstaluj biblioteki klienta:
pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib oauth2client
Opublikowana aplikacja do obsługi czatu z członkostwem w pokoju czatu:
- Informacje o tym, jak utworzyć i opublikować aplikację do obsługi czatu, znajdziesz w artykule Tworzenie aplikacji Google Chat za pomocą Cloud Functions.
- Aby dodać aplikację do Google Chat do pokoju czatu, przeczytaj artykuł Dodawanie aplikacji do pokoi i rozmów w Google Chat.
Autoryzacja skonfigurowana dla aplikacji Google Chat:
- Uwierzytelnianie konta usługi jest w pełni obsługiwane. Aby skonfigurować konto usługi, zobacz Uwierzytelnianie i autoryzacja jako konto usługi.
- Programu testowania Google Workspace dla deweloperów, który zapewnia wcześniejszy dostęp do niektórych funkcji. Aby skonfigurować uwierzytelnianie użytkownika, przeczytaj artykuł Uwierzytelnianie i autoryzacja użytkowników (Wersja przedpremierowa). Wersja próbna dewelopera: uwierzytelnianie użytkowników jest obsługiwane w ramach
Anatomia SMS-a
Każda wiadomość w Google Chat jest reprezentowana jako obiekt JSON. Ten przykład to podstawowy komunikat, który określa treść w postaci zwykłego tekstu:
{
"text": "Your pizza delivery is here!"
}
Oto przykład opublikowania w Google Chat:
Wysyłanie asynchronicznego SMS-a
Aby utworzyć SMS-a:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_create_text_message.py
. Umieść w kodzie
chat_create_text_message.py
ten kod:from httplib2 import Http from oauth2client.service_account import ServiceAccountCredentials from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ServiceAccountCredentials.from_json_keyfile_name( 'service_account.json', SCOPES) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', http=CREDENTIALS.authorize(Http())) # Create a Chat message. result = chat.spaces().messages().create( # The space to create the message in. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to create. body={'text': 'Hello, world!'} ).execute() print(result)
W kodzie zastąp
SPACE
nazwą pokoju, który możesz uzyskać za pomocą metodyspaces.list()
w interfejsie Chat API lub z adresu URL pokoju.W katalogu roboczym utwórz i uruchom przykład:
python3 chat_create_text_message.py
Formatowanie tekstu w wiadomościach
Google Chat pozwala stosować podstawowe formatowanie do tekstu wiadomości, w tym pogrubienie, kursywę i przekreślenie. Aby sformatować tekst, dodaj do niego następujące symbole:
Format | Symbol | Przykład | Wynik |
---|---|---|---|
pogrubienia, | * | *Cześć* | Cześć |
kursywy, | _ (podkreślenie) | _cześć_ | Cześć |
Przekreślenie | ~ | ~Cześć~ | |
Stała szerokość znaków | ` (cudzysłów prosty) | `cześć` | hello |
Blok jednowymiarowy | ``` (3 cudzysłowy) | ``` Witaj Świat ``` |
Hello |
Weźmy na przykład taki plik JSON:
{
"text": "Your pizza delivery *has arrived*!\nThank you for using _Pizza Bot!_"
}
W pokoju czatu pojawi się taki komunikat:
Ta składnia znaczników to ta sama składnia, która obowiązuje w przypadku wiadomości wpisywanych przez użytkowników. Właśnie dlatego różni się od składni opartej na języku HTML stosowanej do tekstu na kartach.
Uwzględnij linki w tekście wiadomości
Jeśli w wiadomości umieścisz zwykły adres URL linku, np. http://example.com/
, Google Chat użyje go jako tekstu linku i automatycznie utworzy hiperlink do tego adresu.
Aby podać alternatywny tekst linku, użyj następującej składni:
Składnia | renderowanie, |
---|---|
<https://example.com/|LINK_TEXT> |
LINK_TEXT |
Pionowa kreska i link są opcjonalne, więc <https://example.com/>
i https://example.com/
są równoważne.
Wiadomości zawierające @wzmiankę o określonych użytkownikach
Aplikacja do obsługi czatu może dodać @wzmiankę o użytkowniku w wiadomości, podając USER_ID
w tej składni. Aby określić właściwość USER_ID dla użytkownika, sprawdź pole sender
wiadomości przychodzącej.
<users/USER_ID>
Ten ciąg jest zastępowany @wzmianką określonego użytkownika. Weźmy na przykład taki plik JSON:
{
"text": "Hey <users/123456789012345678901>! Thank you for using _Pizza bot!_"
}
W efekcie otrzymujemy taki wynik:
Wiadomości zawierające @wzmiankę o wszystkich użytkownikach
Możesz użyć identyfikatora użytkownika all
, aby dodać @wzmiankę o wszystkich użytkownikach w pokoju. Przykład:
{
"text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}