Tworzenie SMS-a

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

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:

Aplikacja wysyłająca wiadomość o tym, że możesz dostarczyć pizzę

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

  1. W katalogu roboczym utwórz plik o nazwie chat_create_text_message_app.py.
  2. 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)
    
  3. W kodzie zastąp SPACE nazwą pokoju, którą możesz uzyskać przy użyciu metody spaces.list() w interfejsie Chat API lub z adresu URL pokoju.

  4. 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

  1. W katalogu roboczym utwórz plik o nazwie chat_create_text_message_user.py.
  2. 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()
    
  3. W kodzie zastąp SPACE nazwą pokoju, którą możesz uzyskać przy użyciu metody spaces.list() w interfejsie Chat API lub z adresu URL pokoju.

  4. 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ść~ Cześć
Stała szerokość znaków ` (cudzysłów) `Cześć` hello
Blok pojedynczy ``` (3 cudzysłowy) ```
Witaj
świecie
```
Hello
World

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:

Aplikacja została wyróżniona pogrubieniem tekstu.

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.

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:

Aplikacja odpowiada za pomocą nazwy użytkownika.

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!"
}