Method: spaces.messages.create

Tworzy wiadomość w pokoju Google Chat. Przykład znajdziesz w artykule Wysyłanie wiadomości.

Obsługuje te typy uwierzytelniania:

  • Uwierzytelnianie aplikacji z zakresem autoryzacji:
    • https://www.googleapis.com/auth/chat.bot
  • Uwierzytelnianie użytkownika z jednym z tych zakresów autoryzacji:
    • https://www.googleapis.com/auth/chat.messages.create
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (tylko w przypadku pokoi w trybie importu)

Google Chat inaczej przypisuje nadawcę wiadomości w zależności od typu uwierzytelniania użytego w żądaniu.

Na ilustracji poniżej pokazano, jak Google Chat przypisuje wiadomość, gdy używasz uwierzytelniania aplikacji. Google Chat wyświetla aplikację Google Chat jako nadawcę wiadomości. Treść wiadomości może zawierać tekst (text), karty (cardsV2) i widżety dodatkowe (accessoryWidgets).

Wiadomość wysłana z uwierzytelnianiem aplikacji

Na ilustracji poniżej pokazano, jak Google Chat przypisuje wiadomość, gdy używasz uwierzytelniania użytkownika. Google Chat wyświetla użytkownika jako nadawcę wiadomości i przypisuje aplikację Google Chat do wiadomości, wyświetlając jej nazwę. Treść wiadomości może zawierać tylko tekst (text).

Wiadomość wysłana z uwierzytelnianiem użytkownika

Maksymalny rozmiar wiadomości, w tym jej zawartości, to 32 000 bajtów.

W przypadku webhooka odpowiedź nie zawiera całej wiadomości. Oprócz informacji zawartych w żądaniu odpowiedź zawiera tylko pola name i thread.name.

Żądanie HTTP

POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
parent

string

Wymagane. Nazwa zasobu pokoju, w którym ma zostać utworzona wiadomość.

Format: spaces/{space}

Parametry zapytania

Parametry
threadKey
(deprecated)

string

Opcjonalnie. Wycofane: zamiast tego użyj thread.thread_key. Identyfikator wątku. Obsługuje do 4000 znaków. Aby rozpocząć wątek lub dodać do niego wiadomość, utwórz wiadomość i określ threadKey lub thread.name. Przykłady użycia znajdziesz w artykule Rozpoczynanie wątku wiadomości lub odpowiadanie na niego.

requestId

string

Opcjonalnie. Unikalny identyfikator tego żądania. Zalecany jest losowy identyfikator UUID. Określenie identyfikatora żądania sprawia, że żądanie jest idempotentne, co gwarantuje, że wiele identycznych żądań z tym samym identyfikatorem spowoduje utworzenie tylko jednej wiadomości. Kolejne żądania z tym samym identyfikatorem zwracają istniejącą wiadomość i nie aktualizują jej, nawet jeśli żądane szczegóły różnią się od bieżącego stanu.

Aby skutecznie korzystać z tego pola:

  • Upewnij się, że kolejne żądania są identyczne i używają tych samych danych logowania co pierwotne żądanie.
  • Jeśli wiadomość została już utworzona z podanym identyfikatorem żądania, żądanie zwraca tę wiadomość. Pamiętaj, że zwrócona wiadomość może nie być w pełni wypełniona. Interfejs API odzwierciedla wiadomość w żądaniu z wypełnionymi nazwami zasobów przypisanymi przez system. Aby pobrać najnowsze metadane wiadomości, wywołaj messages.get.
  • Ponowne użycie istniejącego identyfikatora żądania z innym uwierzytelnionym użytkownikiem spowoduje błąd.
messageReplyOption

enum (MessageReplyOption)

Opcjonalnie. Określa, czy wiadomość rozpoczyna wątek, czy na niego odpowiada. Obsługiwane tylko w nazwanych pokojach.

Podczas odpowiadania na interakcje użytkownika to pole jest ignorowane. W przypadku interakcji w wątku odpowiedź jest tworzona w tym samym wątku. W przeciwnym razie odpowiedź jest tworzona jako nowy wątek.

messageId

string

Opcjonalnie. Niestandardowy identyfikator wiadomości. Umożliwia aplikacjom Google Chat pobieranie, aktualizowanie i usuwanie wiadomości bez konieczności przechowywania identyfikatora przypisanego przez system w nazwie zasobu wiadomości (reprezentowanego w polu name wiadomości).

Wartość tego pola musi spełniać te wymagania:

  • Zaczyna się od client-. Na przykład client-custom-name jest prawidłowym niestandardowym identyfikatorem, ale custom-name już nie.
  • Zawiera maksymalnie 63 znaki, w tym tylko małe litery, cyfry i łączniki.
  • Jest unikalny w pokoju. Aplikacja Google Chat nie może używać tego samego niestandardowego identyfikatora w przypadku różnych wiadomości.

Więcej informacji znajdziesz w artykule Nadawanie nazwy wiadomości.

createMessageNotificationOptions

object (CreateMessageNotificationOptions)

Opcjonalnie. Określa sposób działania powiadomień po opublikowaniu wiadomości. Więcej informacji znajdziesz w artykule Wymuszanie powiadomień lub wysyłanie cichych wiadomości.

Treść żądania

Treść żądania zawiera wystąpienie elementu Message.

Treść odpowiedzi

Jeśli operacja się uda, treść odpowiedzi będzie zawierała nowo utworzoną instancję Message.

Zakresy autoryzacji

Wymaga jednego z tych zakresów OAuth:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create

Więcej informacji znajdziesz w przewodniku po autoryzacji.

MessageReplyOption

Określa, jak odpowiadać na wiadomość. W przyszłości mogą zostać dodane kolejne stany.

Wartości w polu enum
MESSAGE_REPLY_OPTION_UNSPECIFIED Domyślny: Rozpoczyna nowy wątek. Użycie tej opcji powoduje zignorowanie wszystkich thread ID lub threadKey.
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD Tworzy wiadomość jako odpowiedź na wątek określony przez thread ID lub threadKey. Jeśli się nie uda, wiadomość rozpocznie nowy wątek.
REPLY_MESSAGE_OR_FAIL Tworzy wiadomość jako odpowiedź na wątek określony przez thread ID lub threadKey. Jeśli używany jest nowy threadKey, tworzony jest nowy wątek. Jeśli utworzenie wiadomości się nie powiedzie, zamiast tego zwracany jest błąd NOT_FOUND.

CreateMessageNotificationOptions

Opcje dotyczące sposobu działania powiadomień po opublikowaniu wiadomości.

Zapis JSON
{
  "notificationType": enum (NotificationType)
}
Pola
notificationType

enum (NotificationType)

Typ powiadomienia o wiadomości.

NotificationType

Opcje typów powiadomień o wiadomości.

Wartości w polu enum
NOTIFICATION_TYPE_NONE Domyślne działanie. Sposób działania powiadomień jest podobny do tego, gdy użytkownik wysyła wiadomość za pomocą interfejsu Google Chat: do nadawcy nie jest wysyłane żadne powiadomienie.
NOTIFICATION_TYPE_FORCE_NOTIFY

Wymuś powiadomienie odbiorców. Ta opcja ignoruje ustawienia powiadomień w pokoju i ustawienia trybu Nie przeszkadzać w Google Chat. Ta opcja nie ignoruje ustawień trybu Nie przeszkadzać na poziomie urządzenia.

Wymaga uwierzytelniania aplikacji.

NOTIFICATION_TYPE_SILENT

Nie powiadamiaj odbiorców i nie oznaczaj wiadomości jako nieprzeczytanej. Działa to podobnie do wyciszenia rozmowy przez użytkownika lub włączenia trybu Nie przeszkadzać w Google Chat.

Wymaga uwierzytelniania aplikacji.