Auf dieser Seite wird erläutert, wie Google Chat-Apps Nachrichten senden können, um auf Nutzerinteraktionen zu antworten.
-
Eine Chat-App antwortet auf einen Slash-Befehl mit einer Textnachricht und einer Schaltfläche.
-
Eine Chat-App öffnet ein Dialogfeld, in dem Nutzer Informationen eingeben können.
-
Eine Chat-App sendet eine Nachricht mit Text und einer interaktiven Karte.
Vorbereitung
HTTP
Ein Google Workspace-Add‑on, das Google Chat erweitert. Führen Sie die HTTP-Kurzanleitung aus, um ein solches Add‑on zu erstellen.
Apps Script
Ein Google Workspace-Add‑on, das Google Chat erweitert. Führen Sie die Apps Script-Kurzanleitungaus, um ein solches Add‑on zu erstellen.
Nachricht entwerfen
Chat-Apps können in einer Nachricht Folgendes enthalten:
- Text mit Hyperlinks, @-Erwähnungen und Emojis.
- Eine oder mehrere Karten, die in einer Nachricht angezeigt oder als Dialogfeld in einem neuen Fenster geöffnet werden können.
- Ein oder mehrere Zubehör-Widgets, also Schaltflächen, die nach Text oder Karten in einer Nachricht angezeigt werden.
Weitere Informationen zum Entwerfen von Nachrichten finden Sie in der folgenden Google Chat API-Dokumentation:
- Übersicht zu Nachrichten
- Nachrichten formatieren
- Karten für Google Chat-Apps erstellen
- Text und Bilder zu Karten hinzufügen
- Interaktive UI-Elemente zu Karten hinzufügen
Mit Nachricht antworten
Chat-Apps können mit einer Nachricht auf die folgenden Auslöser oder Interaktionen antworten:
- Nachricht -Auslöser, z. B. wenn Nutzer eine Chat-App @erwähnen oder ihr eine Direktnachricht senden.
- Zu Gruppenbereich hinzugefügt -Auslöser, z. B. wenn Nutzer die Chat-App im Google Workspace Marketplace installieren oder sie einem Gruppenbereich hinzufügen.
- Schaltflächenklicks auf Karten in Nachrichten oder Dialogfeldern. Zum Beispiel, wenn Nutzer Informationen eingeben und auf „Senden“ klicken.
Andernfalls können Chat-Apps Nachrichten proaktiv senden, indem sie die Google Chat API aufrufen.
Wenn Sie mit einer Nachricht antworten möchten, geben Sie die Aktion DataActions mit einem
CreateMessageAction-Objekt zurück:
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": MESSAGE
}}}
Ersetzen Sie MESSAGE durch eine
Message
Ressource aus der Chat API. Weitere Informationen zu Aktionen finden Sie unter
Chat-Aktionen.
Im folgenden Beispiel erstellt und sendet eine Chat-App eine Textnachricht, wenn sie einem Gruppenbereich hinzugefügt wird. Wenn Sie eine Textnachricht senden möchten, wenn ein Nutzer Ihre Chat-App einem Gruppenbereich hinzufügt, antwortet Ihre Chat-App auf den Auslöser Zu Gruppenbereich hinzugefügt , indem sie die Aktion DataActions zurückgibt:
Node.js
/**
* Sends an onboarding message when the Chat app is added to a space.
*
* @param {Object} req The request object from Google Workspace add-on.
* @param {Object} res The response object from the Chat app.
*/
exports.cymbalApp = function cymbalApp(req, res) {
const chatEvent = req.body.chat;
// Send an onboarding message when added to a Chat space
if (chatEvent.addedToSpacePayload) {
res.json({ hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Hi, Cymbal 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`.'
}}}}});
}
};
Python
from flask import Flask, request, json
app = Flask(__name__)
@app.route('/', methods=['POST'])
def cymbal_app():
"""Sends an onboarding message when the Chat app is added to a space.
Returns:
Mapping[str, Any]: The response object from the Chat app.
"""
chat_event = request.get_json()["chat"]
if "addedToSpacePayload" in chat_event:
return json.jsonify({ "hostAppDataAction": { "chatDataAction": {
"createMessageAction": { "message": {
"text": 'Hi, Cymbal 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`.'
}}
}}})
Java
@SpringBootApplication
@RestController
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
/*
* Sends an onboarding message when the Chat app is added to a space.
*
* @return The response object from the Chat app.
*/
@PostMapping("/")
@ResponseBody
public GenericJson onEvent(@RequestBody JsonNode event) throws Exception {
JsonNode chatEvent = event.at("/chat");
if(!chatEvent.at("/addedToSpacePayload").isEmpty()) {
return new GenericJson() { {
put("hostAppDataAction", new GenericJson() { {
put("chatDataAction", new GenericJson() { {
put("createMessageAction", new GenericJson() { {
put("message", new Message().setText(
"Hi, Cymbal 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`."
));
} });
} });
} });
} };
}
}
}
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.
*/
function onAddedToSpace(event) {
return { hostAppDataAction: { chatDataAction: { createMessageAction: { message: {
text: 'Hi, Cymbal 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`.'
}}}}};
}
Das Codebeispiel gibt die folgende Textnachricht zurück:
Weitere Beispiele für das Antworten mit einer Nachricht finden Sie in den folgenden Anleitungen:
- Auf Schnellbefehle antworten
- Auf Schrägstrichbefehle antworten
- Interaktive Dialogfelder öffnen
- Informationen von Google Chat-Nutzern erfassen
Nachricht bearbeiten
Chat-Apps können auch Nachrichten bearbeiten, die sie senden. Zum Beispiel, um eine Nachricht zu aktualisieren, nachdem ein Nutzer ein Dialogfeld gesendet oder auf eine Schaltfläche in einer Nachricht geklickt hat.
Wenn Sie eine Google Chat-Nachricht bearbeiten möchten, geben Sie die Aktion
DataActions mit einem
UpdateMessageAction zurück, wie in
folgendem Beispiel gezeigt:
{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
"message": MESSAGE
}}}}
Ersetzen Sie MESSAGE durch eine
Message
Ressource aus der Chat API.
Weitere Informationen zu Aktionen finden Sie unter Chat-Aktionen.
Chat-Apps können auch eine Nachricht eines Nutzers bearbeiten, um eine Vorschau eines von ihm gesendeten Links zurückzugeben. Weitere Informationen finden Sie unter Vorschau von Links in Google Chat-Nachrichten.
Mit der Google Chat API auf Interaktionen antworten oder proaktive Nachrichten senden
Anstatt eine Add‑on-Aktion zurückzugeben, müssen Chat-Apps möglicherweise die Google Chat API verwenden, um auf eine Interaktion zu antworten. Chat-Apps müssen beispielsweise die Google Chat API aufrufen, um Folgendes zu tun:
- Nachrichten nach Zeitplan oder zu Änderungen an externen Ressourcen senden. Zum Beispiel Benachrichtigungen zu einem neuen Problem oder Fall.
- Mehr als 30 Sekunden nach der Interaktion antworten. Zum Beispiel, um nach Abschluss einer zeitaufwendigen Aufgabe mit einer Nachricht zu antworten.
- Eine Nachricht außerhalb des Gruppenbereichs senden, in dem die Interaktion stattgefunden hat.
- Eine Nachricht im Namen eines Google Chat-Nutzers senden.
Wenn Sie eine Nachricht mit der Chat API senden möchten, müssen Sie die Authentifizierung einrichten und die Methode create() für die Message-Ressource aufrufen. Eine Anleitung finden Sie unter
Nachricht mit der Google Chat API senden.
Weitere Informationen
- Google Chat-Oberflächen erstellen
- Auf Schnellbefehle antworten
- Auf Schrägstrichbefehle antworten
- Interaktive Dialogfelder öffnen
- Informationen von Google Chat-Nutzern erfassen
- Vorschau von Links in Google Chat-Nachrichten
- Nachricht mit der Google Chat API senden