Wysyłanie wiadomości prywatnych do użytkowników Google Chat

Na tej stronie dowiesz się, jak tworzyć i wysyłać wiadomości prywatne jako aplikacji Google Chat.

Wiadomość prywatna to wiadomość w aplikacji Google Chat, która jest dostępna tylko widoczne dla określonego użytkownika Google Chat. Wiadomości prywatnych możesz używać w Pokoje z wieloma osobami, z którymi mogą oni rozmawiać prywatnie komunikatory; Na przykład plik Aplikacja do obsługi czatu może prywatnie wysyłać wiadomości do: :

  • Odpowiedz na polecenie po ukośniku. Na przykład, jeśli użytkownik wywołuje ukośnik /about aplikacji Google Chat. w pokoju, aplikacja Google Chat może odpowiedzieć, wysyłając wiadomość wiadomość prywatna wyjaśniająca, do czego służy Twoja aplikacja Google Chat. i jak z nich korzystać.
  • Powiadamianie lub wysyłanie informacji, które są istotne tylko dla jednego użytkownika. Dla: możesz na przykład powiadomić użytkownika o przypisaniu zadania lub przypomnieć mu aby ukończyć zadanie.
  • Wyślij komunikat o błędzie. Na przykład jeśli użytkownik pominie wymagany tekst argumentu w przypadku polecenia po ukośniku, aplikacja Google Chat może wysłać wiadomość prywatną z wyjaśnieniem błędu i pomocą w sformatowaniu polecenia.
  • Wyślij użytkownikowi prywatną wiadomość powitalną po dodaniu do pokoju wyjaśnia wytyczne oraz instrukcje korzystania z aplikacji Google Chat.

Gdy aplikacja do obsługi czatu wysyła wiadomość prywatną, ta wiadomość zostaje wysłana wyświetla etykietę informującą użytkownika, że wiadomość jest widoczna tylko dla niego:

Prywatna wiadomość dla
  Cymbal Labs Labs. Komunikat informuje, że
  Aplikacja do obsługi czatu została utworzona przez Cymbal Labs i udostępnia link
  do dokumentacji i linku do kontaktu z zespołem pomocy.
Rysunek 1. Gdy aplikacja do obsługi czatu wysyła wiadomość prywatna, użytkownik widzi wiadomość z etykietą z napisem Only visible to you.

Wymagania wstępne

Node.js

  • Aplikacja Google Chat, w której można korzystać z funkcji interaktywnych. Aby utworzyć interaktywna aplikacja do obsługi czatu przy użyciu usługi HTTP zapoznaj się z tym krótkim wprowadzeniem.
  • Aby odpowiadać prywatnie na polecenie po ukośniku, musisz użyć polecenia po ukośniku skonfigurowane dla aplikacji Google Chat. Aby to zrobić, zobacz Reaguj na polecenia po ukośniku.

  • Aby wysłać wiadomość prywatną za pomocą messages.create() , musisz użyć uwierzytelniania aplikacji.

Python

  • Aplikacja Google Chat, w której można korzystać z funkcji interaktywnych. Aby utworzyć interaktywna aplikacja do obsługi czatu przy użyciu usługi HTTP zapoznaj się z tym krótkim wprowadzeniem.
  • Aby odpowiadać prywatnie na polecenie po ukośniku, musisz użyć polecenia po ukośniku skonfigurowane dla aplikacji Google Chat. Aby to zrobić, zobacz Reaguj na polecenia po ukośniku.

  • Aby wysłać wiadomość prywatną za pomocą messages.create() , musisz użyć uwierzytelniania aplikacji.

Google Apps Script

  • Aplikacja Google Chat, w której można korzystać z funkcji interaktywnych. Aby utworzyć z interaktywną aplikacją Google Chat w Apps Script, zapoznaj się z tym krótkim wprowadzeniem.
  • Aby odpowiadać prywatnie na polecenie po ukośniku, musisz użyć polecenia po ukośniku skonfigurowane dla aplikacji Google Chat. Aby to zrobić, zobacz Reaguj na polecenia po ukośniku.

  • Aby wysłać wiadomość prywatną za pomocą messages.create() , musisz użyć uwierzytelniania aplikacji.

Wysyłanie prywatnej wiadomości

Aby wysłać wiadomość prywatną jako aplikację do obsługi czatu, należy określić privateMessageViewer w polu wiadomości podczas jej tworzenia. Możesz tworzyć wiadomości prywatne tak samo możesz utworzyć dowolną wiadomość: odpowiadając na interakcję użytkownika asynchroniczne wywoływanie funkcji interfejsu Google Chat API create() na Message zasób. Instrukcje wysyłania SMS-ów i kart znajdziesz w Wyślij wiadomość.

Poniższy przykład pokazuje kod JSON prywatnego SMS-a o treści Hello private world!:

{
    "text": "Hello private world!",
    "privateMessageViewer": "USER"
}

W tym przykładzie USER reprezentuje użytkownika Google Chat kto może zobaczyć wiadomość, w formacie User. Jeśli odpowiadasz na interakcji użytkownika, możesz określić obiekt User ze zdarzenia interakcji. Oto przykład: Odpowiadanie prywatnie na polecenie po ukośniku

Jeśli chcesz określić osobę przeglądającą wiadomość prywatną, możesz użyć funkcji name pola User zasób:

{
    "text": "Hello private world!",
    "privateMessageViewer": {
      "name": "users/USER_ID"
    }
}

W tym przykładzie należy użyć pola name do określenia elementu User widza nazwę zasobu w Google Chat. Zastąp USER_ID z unikalnym identyfikatorem użytkownika, takim jak 12345678987654321 lub hao@cymbalgroup.com

Więcej informacji o określaniu użytkowników znajdziesz w sekcji Identyfikowanie i wskazywanie użytkowników Google Chat

Odpowiadanie prywatnie na polecenie po ukośniku

Poniżej znajduje się przykładowy kod aplikacji Google Chat. która odpowiada na polecenie po ukośniku, wysyłając wiadomość prywatną.

Aplikacja Google Chat przetwarza MESSAGE zdarzenie interakcji i odpowiedzi na polecenie po ukośniku /help wyjaśnia, jak z niej korzystać:

Node.js

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {!Object} req Request sent from Google Chat app
* @param {!Object} res Response to send back
*
* @return {!Object} respond to slash command
*/
exports.onMessage = function onMessage(req, res) {
  if (req.method === 'GET' || !req.body.message) {
    return res.send('Hello! This function is meant to be used in Google Chat app.');
  }

  const event = req.body;

  // Checks for the presence of event.message.slashCommand.
  // If the slash command is "/help", responds with a private text message.
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case '1':  // /help
        return res.json({
          privateMessageViewer: event.user,
          text: 'This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>.'
        });
    }
  }

  // If the Chat app doesn't detect a slash command, it responds
  // with a private text message
  return res.json({
    privateMessageViewer: event.user,
    text: 'Try a slash command.'
  });
};

Google Apps Script

/**
* Responds to a MESSAGE event in Google Chat.
*
* @param {Object} event the event object from Google Chat
*/
function onMessage(event) {
  if (event.message.slashCommand) {
    switch (event.message.slashCommand.commandId) {
      case 1: // Responds to /help
        return {
          "privateMessageViewer": event.user,
          "text": "This Chat app was created by Cymbal Labs. To get help with this app, <https://cymbalgroup.com/docs|see our documentation> or <https://cymbalgroup.com/support|contact our support team>."
        };
    }
  }
  else {
    return { "text": "Try a slash command.", "privateMessageViewer": event.user };
  }
}

Python

from typing import Any, Mapping

import flask
import functions_framework

@functions_framework.http
def main(req: flask.Request) -> Mapping[str, Any]:
  """Responds to a MESSAGE event in Google Chat.

  Args:
      req (flask.Request): the event object from Chat API.

  Returns:
      Mapping[str, Any]: open a Dialog in response to a card's button click.
  """
  if req.method == 'GET':
    return 'Hello! This function must be called from Google Chat.'

  request = req.get_json(silent=True)

  # Checks for the presence of event.message.slashCommand.
  # If the slash command is "/help", responds with a private text message.
  if request.get('message', {}).get('slashCommand'):
    command_id = request.get('message', {}).get('slashCommand').get('commandId')
    if command_id == '1':  # /help
      return {
          'privateMessageViewer': request.get('user'),
          'text': (
              'This Chat app was created by Cymbal Labs. To get help with this'
              ' app, <https://cymbalgroup.com/docs|see our documentation> or'
              ' <https://cymbalgroup.com/support|contact our support team>.'
          ),
      }

  return {
      'privateMessageViewer': request.get('user'),
      'text': 'Try a slash command.',
  }

Ograniczenia

Aby można było wysłać wiadomość prywatną, nie może ona zawierać ani używać :

  • Załączniki.
  • Działania dotyczące akcesoriów.
  • Częściowo prywatne wiadomości. Na przykład aplikacja Google Chat Nie możesz wysłać wiadomości z tekstem i kartą, gdzie tekst jest widoczny tylko jeden użytkownik, ale karta jest widoczna dla wszystkich osób w pokoju.
  • Uwierzytelnianie użytkowników. Tylko aplikacje do obsługi czatu mogą wysyłać wiadomości prywatne, więc Twoja Aplikacja do obsługi czatu nie może uwierzytelnić się jako użytkownik w celu wysłania wiadomość prywatną.

Aktualizowanie i usuwanie wiadomości prywatnych

Aby zaktualizować lub usunąć wiadomości w Google Chat, musisz wywołać Interfejs Chat API. Nie możesz zmienić osoby wyświetlającej wiadomość prywatną ani publiczny. Dlatego, gdy aktualizujesz wiadomości prywatne, musisz pominąć w polu privateMessageViewer w wywołaniu interfejsu API (pole zawiera tylko dane wyjściowe).

Aby zaktualizować wiadomość prywatną, zobacz Aktualizowanie wiadomości Aby usunąć wiadomość prywatną, zobacz Usuwanie wiadomości