หน้านี้อธิบายวิธีที่แอป Google Chat ส่งข้อความเพื่อตอบกลับการโต้ตอบของผู้ใช้
-
แอป Chat ตอบกลับคำสั่งเครื่องหมายทับด้วยข้อความและปุ่ม
-
แอป Chat จะเปิดกล่องโต้ตอบที่ผู้ใช้ป้อนข้อมูลได้
-
แอป Chat จะส่งข้อความที่มีข้อความและบัตรแบบอินเทอร์แอกทีฟ
ข้อกำหนดเบื้องต้น
HTTP
ส่วนเสริม Google Workspace ที่ขยาย Google Chat หากต้องการสร้างส่วนเสริมดังกล่าว ให้ทำตาม คู่มือเริ่มต้นใช้งานฉบับย่อของ HTTP
Apps Script
ส่วนเสริม Google Workspace ที่ขยาย Google Chat หากต้องการสร้างส่วนเสริมดังกล่าว ให้ทำตาม คู่มือเริ่มต้นใช้งานฉบับย่อของ Apps Script
ออกแบบข้อความ
แอป Chat สามารถใส่องค์ประกอบใดองค์ประกอบหนึ่งต่อไปนี้ในข้อความ
- ข้อความที่มีไฮเปอร์ลิงก์, @พูดถึง และอีโมจิ
- บัตรอย่างน้อย 1 ใบ ซึ่งอาจปรากฏในข้อความหรือเปิดในหน้าต่างใหม่เป็นกล่องโต้ตอบ
- วิดเจ็ตเสริมอย่างน้อย 1 รายการ ซึ่งเป็นปุ่มที่จะปรากฏหลังข้อความหรือบัตรในข้อความ
ดูข้อมูลเกี่ยวกับการออกแบบข้อความได้ในเอกสารประกอบของ Google Chat API ต่อไปนี้
- ภาพรวมการรับส่งข้อความ
- จัดรูปแบบข้อความ
- สร้างบัตรสำหรับแอป Google Chat
- เพิ่มข้อความและรูปภาพลงในบัตร
- เพิ่มองค์ประกอบ UI แบบอินเทอร์แอกทีฟลงในบัตร
ตอบกลับด้วยข้อความ
แอป Chat สามารถตอบกลับด้วยข้อความเมื่อมีการเรียกหรือการโต้ตอบใดๆ ต่อไปนี้
- ทริกเกอร์**ข้อความ** เช่น เมื่อผู้ใช้ @พูดถึงหรือส่งข้อความส่วนตัวไปยังแอป Chat
- การเรียก**เพิ่มลงในพื้นที่ทำงาน** เช่น เมื่อผู้ใช้ติดตั้งแอป Chat จาก Google Workspace Marketplace หรือเพิ่มแอป Chat ลงในพื้นที่ทำงาน
- การคลิกปุ่มจากบัตรในข้อความหรือกล่องโต้ตอบ เช่น เมื่อผู้ใช้ป้อนข้อมูลแล้วคลิกส่ง
นอกจากนี้ แอป Chat ยังส่งข้อความเชิงรุกได้ด้วยการ เรียกใช้ Google Chat API
หากต้องการตอบกลับด้วยข้อความ ให้แสดงผลการดำเนินการ DataActions ด้วย
CreateMessageAction ออบเจ็กต์ดังนี้
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": {
"message": MESSAGE
}}}
แทนที่ MESSAGE ด้วยแหล่งข้อมูล
Message
จาก Chat API ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีทำงานของการดำเนินการได้ที่
การดำเนินการใน Chat
ในตัวอย่างต่อไปนี้ แอป Chat จะสร้างและส่งข้อความทุกครั้งที่เพิ่มลงในพื้นที่ทำงาน หากต้องการส่งข้อความเมื่อผู้ใช้เพิ่มแอป Chat ลงในพื้นที่ทำงาน แอป Chat จะตอบกลับการเรียกเพิ่มลงในพื้นที่ทำงาน โดยแสดงผลการดำเนินการ DataActions ดังนี้
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`.'
}}}}};
}
ตัวอย่างโค้ดจะแสดงผลข้อความต่อไปนี้
ดูตัวอย่างเพิ่มเติมเกี่ยวกับวิธีตอบกลับด้วยข้อความได้ในคำแนะนำต่อไปนี้
- ตอบกลับคำสั่งด่วน
- ตอบกลับคำสั่งแบบสแลช
- เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ
- รวบรวมข้อมูลจากผู้ใช้ Google Chat
อัปเดตข้อความ
แอป Chat ยังอัปเดตข้อความที่ส่งได้ด้วย เช่น อัปเดตข้อความหลังจากที่ผู้ใช้ส่งกล่องโต้ตอบหรือคลิกปุ่มในข้อความ
หากต้องการอัปเดตข้อความของแอป Chat ให้แสดงผลการดำเนินการ
DataActions ด้วย
UpdateMessageAction ดังที่แสดงใน
ตัวอย่างต่อไปนี้
{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": {
"message": MESSAGE
}}}}
แทนที่ MESSAGE ด้วยแหล่งข้อมูล
Message
จาก Chat API
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีทำงานของการดำเนินการได้ที่ การดำเนินการใน Chat
แอป Chat ยังอัปเดตข้อความจากผู้ใช้เพื่อแสดงตัวอย่างลิงก์ที่ผู้ใช้ส่งได้ด้วย ดูรายละเอียดได้ที่ แสดงตัวอย่างลิงก์ในข้อความ Google Chat
ตอบกลับการโต้ตอบหรือส่งข้อความเชิงรุกโดยใช้ Google Chat API
แอป Chat อาจต้องใช้ Google Chat API เพื่อตอบกลับการโต้ตอบแทนที่จะแสดงผลการดำเนินการของส่วนเสริม เช่น แอป Chat ต้องเรียกใช้ Google Chat API เพื่อดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- ส่งข้อความตามกำหนดเวลา หรือส่งข้อความเกี่ยวกับการเปลี่ยนแปลงแหล่งข้อมูลภายนอก เช่น การแจ้งเตือนเกี่ยวกับปัญหาหรือเคสใหม่
- ตอบกลับหลังจากมีการโต้ตอบนานกว่า 30 วินาที เช่น ตอบกลับด้วยข้อความหลังจากทำงานที่ใช้เวลานานเสร็จแล้ว
- ส่งข้อความนอกพื้นที่ทำงานที่มีการโต้ตอบ
- ส่งข้อความในนามของผู้ใช้ Chat
หากต้องการส่งข้อความโดยใช้ Chat API คุณต้องตั้งค่าการตรวจสอบสิทธิ์และเรียกใช้เมธอด create() ในแหล่งข้อมูล Message ดูขั้นตอนได้ที่
ส่งข้อความโดยใช้ Google Chat API
หัวข้อที่เกี่ยวข้อง
- สร้างอินเทอร์เฟซ Google Chat
- ตอบกลับคำสั่งด่วน
- ตอบกลับคำสั่งแบบสแลช
- เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ
- รวบรวมข้อมูลจากผู้ใช้ Google Chat
- แสดงตัวอย่างลิงก์ในข้อความ Google Chat
- ส่งข้อความโดยใช้ Google Chat API