Z tego artykułu dowiesz się, jak tworzyć i wysyłać SMS-y w aplikacji Google Chat. Więcej informacji o wiadomościach znajdziesz w artykule Omówienie wiadomości w Google Chat.
Wymagania wstępne
Node.js
- Konto Google Workspace z dostępem do Google Chat.
- Aplikacja do obsługi Google Chat. Aby utworzyć aplikację do obsługi czatu, zapoznaj się z krótkim wprowadzeniem.
Python
- Konto Google Workspace z dostępem do Google Chat.
- Aplikacja do obsługi Google Chat. Aby utworzyć aplikację do obsługi czatu, zapoznaj się z krótkim wprowadzeniem.
Google Apps Script
- Konto Google Workspace z dostępem do Google Chat.
- Aplikacja do obsługi Google Chat. Aby utworzyć aplikację do obsługi czatu, zapoznaj się z krótkim wprowadzeniem.
Tworzenie SMS-ów
W tej sekcji opisujemy, jak tworzyć SMS-y na 2 sposoby: przez odpowiadanie na interakcję użytkownika i asynchroniczne wywoływanie interfejsu Google Chat API.
Odpowiedz użytkownikowi
W tym przykładzie aplikacja do obsługi czatu tworzy i wysyła SMS-a za każdym razem, gdy zostanie dodana do pokoju. Więcej informacji o sprawdzonych metodach wdrażania użytkowników znajdziesz w tym artykule.
Aby wysłać SMS-a, gdy użytkownik doda Twoją aplikację do obsługi czatu do pokoju, ta aplikacja odpowiada na ADDED_TO_SPACE
zdarzenie interakcji.
Aby odpowiedzieć SMS-em na zdarzenia interakcji ADDED_TO_SPACE
, użyj tego kodu:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
exports.onMessage = function onMessage(req, res) {
if (req.method === 'GET' || !req.body.message) {
res.send(
'Hello! This function is meant to be used in a Google Chat space.');
}
// Send an onboarding message when added to a Chat space
if(req.body.type === 'ADDED_TO_SPACE') {
res.json({
'text': 'Hi, Scheduler at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To
learn what else I can do, type `/help`.'
});
}
};
Google Apps Script
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} event The event object from Chat API.
* @return {Object} Response from the Chat app. An onboarding message that
* introduces the app and helps people get started with it.
*/
function onAddToSpace(event) {
return {
'text': 'Hi, Scheduler at your service. I help you manage your calendar
from Google Chat. Take a look at your schedule today by typing
`/checkCalendar`, or schedule a meeting with `/scheduleMeeting`. To learn
what else I can do, type `/help`.'
}
}
Przykładowy kod zwraca następujący komunikat tekstowy:
Wywoływanie interfejsu Google Chat API
Z tej sekcji dowiesz się, jak utworzyć wiadomość tekstową przez asynchroniczne wywoływanie interfejsu Google Chat API.
Asynchroniczne wywoływanie interfejsu Chat API wymaga uwierzytelniania. Gdy aplikacja Google Chat tworzy SMS-a, może użyć uwierzytelniania aplikacji (aby wysłać wiadomość jako aplikację do obsługi czatu) lub uwierzytelniania użytkownika (aby wysłać wiadomość w imieniu użytkownika). Z tej sekcji dowiesz się, jak wysyłać SMS-y przy użyciu obu metod uwierzytelniania.
Aby skonfigurować uwierzytelnianie i dowiedzieć się więcej na temat asynchronicznego tworzenia wiadomości, zapoznaj się z przewodnikiem po interfejsie Chat API.
Tworzenie SMS-ów z uwierzytelnianiem w aplikacji
Aby wysłać SMS-a z uwierzytelnianiem aplikacji:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_create_text_message_app.py
. Umieść ten kod w pliku
chat_create_text_message_app.py
: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( 'credentials.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ć za pomocą metodyspaces.list()
w interfejsie Chat API lub z adresu URL pokoju.W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_create_text_message_app.py
Interfejs Chat API zwraca instancję Message
, która zawiera szczegóły wysłanej wiadomości.
Tworzenie SMS-ów z uwierzytelnianiem użytkowników
Aby wysłać SMS-a z uwierzytelnianiem użytkownika:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_create_text_message_user.py
. Umieść ten kod w pliku
chat_create_text_message_user.py
: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ć za pomocą metodyspaces.list()
w interfejsie Chat API lub z adresu URL pokoju.W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_create_text_message_user.py
Interfejs Chat API zwraca instancję Message
, która zawiera szczegóły wysłanej wiadomości.
Rozwiązywanie problemów
Gdy aplikacja lub karta do Google Chat zwróci błąd, w interfejsie czatu pojawi się komunikat „Coś poszło nie tak” lub „Nie udało się przetworzyć żądania”. Czasami w interfejsie Google Chat nie pojawia się żaden komunikat o błędzie, ale aplikacja lub karta Google Chat zwraca nieoczekiwany wynik, np. może się nie pojawić wiadomość na karcie.
Mimo że komunikat o błędzie może nie wyświetlać się w interfejsie Google Chat, dostępne są opisowe komunikaty o błędach i dane dziennika, które pomogą Ci w rozwiązywaniu problemów pojawiających się po włączeniu rejestrowania błędów w aplikacjach do obsługi czatu. Informacje o wyświetlaniu, debugowaniu i naprawianiu błędów znajdziesz w artykule Rozwiązywanie problemów z Google Chat i ich rozwiązywanie.
Powiązane artykuły
- Formatowanie wiadomości: dowiedz się, jak formatować tekst wiadomości.
- Odbierz wiadomość: przeczytaj szczegółowe informacje o wiadomości, np. o tym, kiedy została wysłana lub jaka jest jej treść.
- Wyświetlanie listy wiadomości: wyświetlanie podzielonej na strony listy wiadomości w pokoju, które można filtrować.
- Aktualizowanie wiadomości: zmień atrybuty wiadomości, np. treść. Możesz też dołączyć tekst do wiadomości na karcie lub do SMS-a na karcie.
- Usunięcie wiadomości: usuń wiadomość z pokoju.
- Identyfikowanie użytkowników w wiadomościach Google Chat