Na tej stronie dowiesz się, jak tworzyć wiadomości wyglądające, jakby zostały wpisane przez użytkownika. Za pomocą SMS-ów możesz prezentować użytkownikom proste informacje. Informacje o tworzeniu bardziej złożonych wiadomości, które generują karty na czacie, znajdziesz w artykule Tworzenie wiadomości na karcie.
Wymagania wstępne
Aby uruchomić przykłady w tym przewodniku, musisz mieć wymagania wstępne:
Python
- Python w wersji 3.6 lub nowszej
- Narzędzie pip do zarządzania pakietami
Biblioteki klienta Google dla języka Python. 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.
- Informacje o dodawaniu aplikacji do Google Chat do pokoju czatu znajdziesz w artykule Dodawanie aplikacji do pokoi i rozmów w Google Chat.
Autoryzacja skonfigurowana w aplikacji Google Chat:
- Informacje o konfigurowaniu konta usługi znajdziesz w artykule Uwierzytelnianie i autoryzowanie konta usługi.
- Informacje o konfigurowaniu uwierzytelniania użytkowników znajdziesz w artykule Uwierzytelnianie i autoryzowanie użytkowników.
Anatomia SMS-a
Każda wiadomość w Google Chat jest reprezentowana jako obiekt JSON. Poniższy przykład to podstawowa wiadomość, która określa prosty tekst jawny:
{
"text": "Your pizza delivery is here!"
}
W przypadku opublikowania go w Google Chat ten przykład wygląda tak:
Tworzenie asynchronicznego SMS-a
Z sekcji poniżej dowiesz się, jak utworzyć SMS-a z uwierzytelnianiem aplikacji i użytkownika.
Tworzenie SMS-a z uwierzytelnianiem aplikacji
Aby utworzyć SMS z uwierzytelnianiem aplikacji:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_create_text_message_app.py
. Umieść w kodzie
chat_create_text_message_app.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órą możesz uzyskać przy użyciu 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_app.py
Interfejs Chat API zwraca instancję Message
, która zawiera szczegóły utworzonej wiadomości.
Tworzenie SMS-a z uwierzytelnianiem użytkownika
Aby utworzyć SMS z uwierzytelnianiem użytkownika:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_create_text_message_user.py
. Umieść w kodzie
chat_create_text_message_user.py
ten kod:import os.path from google.auth.transport.requests import Request from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build from googleapiclient.errors import HttpError # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.messages.create"] def main(): ''' Authenticates with Chat API via user credentials, then creates a text message in a Chat space. ''' # Start with no credentials. creds = None # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. 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() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
W kodzie zastąp
SPACE
nazwą pokoju, którą możesz uzyskać przy użyciu 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_user.py
Interfejs Chat API zwraca instancję Message
, która zawiera szczegóły utworzonej wiadomości.
Formatowanie SMS-ów w wiadomościach
W Google Chat można dodawać podstawowe formatowanie do tekstu wiadomości, w tym pogrubienie, kursywę i przekreślenie. Aby sformatować tekst, dodaj te symbole:
Format | Symbol | Przykład | Wynik |
---|---|---|---|
pogrubienia, | * | *Cześć* | Cześć |
kursywy, | _ (podkreślenie) | _Cześć_ | Cześć |
Przekreślenie | ~ | ~Cześć~ | |
Stała szerokość znaków | ` (cudzysłów) | `Cześć` | hello |
Blok pojedynczy | ``` (3 cudzysłowy) | ``` Witaj świecie ``` |
Hello |
Weźmy na przykład taki kod 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 jest taka sama jak składnia wiadomości wpisywanych przez użytkowników, 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 treści wiadomości umieścisz zwykły adres URL linku, taki jak 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 @wzmianki
Aplikacja do obsługi czatu może dodać @wzmiankę o użytkowniku w wiadomości, podając USER_ID
w poniższej składni. Aby określić wartość USER_ID dla użytkownika, sprawdź pole sender
wiadomości przychodzącej od tego użytkownika.
<users/USER_ID>
Ten ciąg jest zastępowany @wzmianką określonego użytkownika. Weźmy na przykład taki kod JSON:
{
"text": "Hey <users/123456789012345678901>! Thank you for using _Pizza bot!_"
}
W efekcie taki wynik wygląda tak:
Wiadomości zawierające @wzmiankę o wszystkich użytkownikach
Możesz użyć identyfikatora użytkownika all
do @wzmianki o wszystkich użytkownikach w pokoju. Na przykład:
{
"text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}