หน้านี้อธิบายวิธีสร้างแอป Chat โดยใช้ Pub/Sub สถาปัตยกรรมประเภทนี้สำหรับแอป Chat มีประโยชน์ในกรณีที่องค์กรมีไฟร์วอลล์ ซึ่งอาจป้องกันไม่ให้ Chat ส่งข้อความไปยังแอป Chat หรือหากแอป Chat ใช้ Google Workspace Events API อย่างไรก็ตาม สถาปัตยกรรมนี้มีข้อจำกัดดังต่อไปนี้เนื่องจากแอป Chat เหล่านี้ส่งและรับได้เฉพาะข้อความแบบไม่พร้อมกัน
- ใช้ กล่องโต้ตอบ ในข้อความไม่ได้ แต่ให้ใช้ ข้อความการ์ดแทน
- อัปเดตการ์ดแต่ละใบด้วยการตอบกลับแบบพร้อมกันไม่ได้ แต่ให้อัปเดต
ข้อความทั้งหมดโดยเรียกใช้
patchเมธอดแทน
แผนภาพต่อไปนี้แสดงสถาปัตยกรรมของแอป Chat ที่สร้างด้วย Pub/Sub
ในแผนภาพก่อนหน้า ผู้ใช้ที่โต้ตอบกับแอป Chat ของ Pub/Sub จะมีขั้นตอนการรับส่งข้อมูลดังนี้
Chat จะส่งข้อความไปยังหัวข้อ Pub/Sub
เซิร์ฟเวอร์แอปพลิเคชัน ซึ่งเป็นระบบคลาวด์หรือระบบในองค์กรที่มีตรรกะของแอป Chat จะสมัครใช้บริการหัวข้อ Pub/Sub เพื่อรับข้อความผ่านไฟร์วอลล์
แอป Chat สามารถเรียกใช้ Chat API เพื่อโพสต์ข้อความแบบไม่พร้อมกันหรือดำเนินการอื่นๆ ได้ (ไม่บังคับ)
ข้อกำหนดเบื้องต้น
เมื่อสร้างแอป Chat คุณต้องยกเลิกการเลือกสร้างแอป Chat นี้เป็นส่วนเสริมของ Google Workspace ในหน้าการกำหนดค่า Chat API ในคอนโซล Google Cloud ดูหัวข้อ เผยแพร่แอปไปยัง Google Chat
Node.js
- บัญชี Google Workspace for Business หรือ Enterprise ที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน หากต้องการตรวจสอบว่าโปรเจ็กต์ที่มีอยู่เปิดใช้การเรียกเก็บเงินแล้ว ให้ดูที่ ตรวจสอบ สถานะการเรียกเก็บเงินของโปรเจ็กต์ หากต้องการสร้างโปรเจ็กต์และตั้งค่าการเรียกเก็บเงิน ให้ดูที่ สร้างโปรเจ็กต์ Google Cloud
- Node.js เวอร์ชัน 14 ขึ้นไป
- เครื่องมือจัดการแพ็กเกจ npm
-
โปรเจ็กต์ Node.js ที่เริ่มต้นแล้ว หากต้องการเริ่มต้นโปรเจ็กต์ใหม่ ให้สร้างและเปลี่ยนไปใช้โฟลเดอร์ใหม่ จากนั้นเรียกใช้คำสั่งต่อไปนี้ในอินเทอร์เฟซบรรทัดคำสั่ง
npm init
Python
- บัญชี Google Workspace for Business หรือ Enterprise ที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน หากต้องการตรวจสอบว่าโปรเจ็กต์ที่มีอยู่เปิดใช้การเรียกเก็บเงินแล้ว ให้ดูที่ ตรวจสอบ สถานะการเรียกเก็บเงินของโปรเจ็กต์ หากต้องการสร้างโปรเจ็กต์และตั้งค่าการเรียกเก็บเงิน ให้ดูที่ สร้างโปรเจ็กต์ Google Cloud
- Python เวอร์ชัน 3.6 ขึ้นไป
- เครื่องมือจัดการแพ็กเกจ pip
Java
- บัญชี Google Workspace for Business หรือ Enterprise ที่มีสิทธิ์เข้าถึง Google Chat
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน หากต้องการตรวจสอบว่าโปรเจ็กต์ที่มีอยู่เปิดใช้การเรียกเก็บเงินแล้ว ให้ดูที่ ตรวจสอบ สถานะการเรียกเก็บเงินของโปรเจ็กต์ หากต้องการสร้างโปรเจ็กต์และตั้งค่าการเรียกเก็บเงิน ให้ดูที่ สร้างโปรเจ็กต์ Google Cloud
- Java เวอร์ชัน 11 ขึ้นไป
- เครื่องมือจัดการแพ็กเกจ Maven
ตั้งค่าสภาพแวดล้อม
ก่อนที่จะใช้ Google API คุณต้องเปิด API เหล่านั้นในโปรเจ็กต์ Google Cloud คุณสามารถเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้ในคอนโซล Google Cloud ให้เปิดใช้ Google Chat API และ Pub/Sub API
ตั้งค่า Pub/Sub
สร้างหัวข้อ Pub/Sub ที่ Chat API สามารถส่งข้อความถึงได้ เราขอแนะนำให้ใช้หัวข้อเดียวต่อแอป Chat
ให้สิทธิ์ Chat ในการเผยแพร่ ไปยังหัวข้อโดยมอบบทบาทผู้เผยแพร่ Pub/Sub ให้กับ บัญชีบริการต่อไปนี้
chat-api-push@system.gserviceaccount.comสร้างบัญชีบริการ สำหรับแอป Chat เพื่อให้สิทธิ์กับ Pub/Sub และ Chat แล้วบันทึกไฟล์คีย์ส่วนตัวลงในไดเรกทอรีงาน
สร้างการสมัครใช้บริการแบบดึงข้อมูล สำหรับหัวข้อ
มอบหมายบทบาทผู้สมัครใช้บริการ Pub/Sub ในการสมัครใช้บริการ ให้กับบัญชีบริการที่คุณสร้างไว้ก่อนหน้านี้
เขียนสคริปต์
Node.js
ระบุข้อมูลเข้าสู่ระบบของบัญชีบริการใน CLI:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHระบุรหัสโปรเจ็กต์ Google Cloud ใน CLI
export PROJECT_ID=PROJECT_IDระบุรหัสการสมัครใช้บริการสำหรับการสมัครใช้บริการ Pub/Sub ที่คุณสร้างไว้ก่อนหน้านี้ใน CLI
export SUBSCRIPTION_ID=SUBSCRIPTION_IDสร้างไฟล์ชื่อ
package.jsonในไดเรกทอรีงานวางโค้ดต่อไปนี้ในไฟล์
package.jsonสร้างไฟล์ชื่อ
index.jsในไดเรกทอรีงานวางโค้ดต่อไปนี้ใน
index.js
Python
ระบุข้อมูลเข้าสู่ระบบของบัญชีบริการใน CLI:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHระบุรหัสโปรเจ็กต์ Google Cloud ใน CLI
export PROJECT_ID=PROJECT_IDระบุรหัสการสมัครใช้บริการสำหรับการสมัครใช้บริการ Pub/Sub ที่คุณสร้างไว้ก่อนหน้านี้ใน CLI
export SUBSCRIPTION_ID=SUBSCRIPTION_IDสร้างไฟล์ชื่อ
requirements.txtในไดเรกทอรีงานวางโค้ดต่อไปนี้ในไฟล์
requirements.txtสร้างไฟล์ชื่อ
app.pyในไดเรกทอรีงานวางโค้ดต่อไปนี้ใน
app.py
Java
ระบุข้อมูลเข้าสู่ระบบของบัญชีบริการใน CLI:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATHระบุรหัสโปรเจ็กต์ Google Cloud ใน CLI
export PROJECT_ID=PROJECT_IDระบุรหัสการสมัครใช้บริการสำหรับการสมัครใช้บริการ Pub/Sub ที่คุณสร้างไว้ก่อนหน้านี้ใน CLI
export SUBSCRIPTION_ID=SUBSCRIPTION_IDสร้างไฟล์ชื่อ
pom.xmlในไดเรกทอรีงานวางโค้ดต่อไปนี้ในไฟล์
pom.xmlสร้างโครงสร้างไดเรกทอรี
src/main/javaในไดเรกทอรีงานสร้างไฟล์ชื่อ
Main.javaในไดเรกทอรีsrc/main/javaวางโค้ดต่อไปนี้ใน
Main.java
เผยแพร่แอปไปยัง Chat
ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > API และบริการที่เปิดใช้ > Google Chat API > การกำหนดค่า
กำหนดค่าแอป Chat สำหรับ Pub/Sub โดยทำดังนี้
- ยกเลิกการเลือกสร้างแอป Chat นี้เป็นส่วนเสริมของ Google Workspace กล่องโต้ตอบจะเปิดขึ้นเพื่อขอให้คุณยืนยัน ในกล่องโต้ตอบ ให้คลิกปิดใช้
- ในส่วนชื่อแอป ให้ป้อน
Quickstart App - ในส่วน URL ของรูปโปรไฟล์ ให้ป้อน
https://developers.google.com/chat/images/quickstart-app-avatar.png - ในส่วนคำอธิบาย ให้ป้อน
Quickstart app - ในส่วนฟังก์ชันการทำงาน ให้เลือกเข้าร่วมพื้นที่ทำงานและการสนทนากลุ่ม
- ในส่วนการตั้งค่าการเชื่อมต่อ ให้เลือก Cloud Pub/Sub แล้ววาง ชื่อหัวข้อ Pub/Sub ที่คุณสร้างไว้ก่อนหน้านี้
- ในส่วนระดับการเข้าถึง ให้เลือกทำให้แอป Google Chat นี้พร้อมใช้งานสำหรับบุคคลและกลุ่มที่เฉพาะเจาะจง ในโดเมนของคุณ แล้วป้อนอีเมล
- ในส่วนบันทึก ให้เลือกบันทึกข้อผิดพลาดลงใน Logging
คลิกบันทึก
แอปพร้อมรับและตอบกลับข้อความใน Chat แล้ว
เรียกใช้สคริปต์
ใน CLI ให้เปลี่ยนไปใช้ไดเรกทอรีงานแล้วเรียกใช้สคริปต์
Node.js
npm install
npm start
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Java
mvn compile exec:java -Dexec.mainClass=Main
เมื่อเรียกใช้โค้ด แอปพลิเคชันจะเริ่มรับฟังข้อความที่เผยแพร่ไปยังหัวข้อ Pub/Sub
ทดสอบแอป Chat
หากต้องการทดสอบแอป Chat ให้เปิดพื้นที่ทำงานข้อความส่วนตัวที่มีแอป Chat แล้วส่งข้อความโดยทำดังนี้
เปิด Google Chat โดยใช้บัญชี Google Workspace ที่คุณ ระบุไว้เมื่อเพิ่มตัวเองเป็นผู้ทดสอบที่เชื่อถือได้
- คลิก แชทใหม่.
- ในช่องเพิ่มบุคคลอย่างน้อย 1 คน ให้พิมพ์ชื่อแอป Chat
เลือกแอป Chat จากผลการค้นหา ข้อความส่วนตัว จะเปิดขึ้น
- ในข้อความส่วนตัวใหม่ที่มีแอป ให้พิมพ์
Helloแล้วกดenter
หากต้องการเพิ่มผู้ทดสอบที่เชื่อถือได้และดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบฟีเจอร์แบบอินเทอร์แอกทีฟ โปรดดูที่ ทดสอบฟีเจอร์แบบอินเทอร์แอกทีฟสำหรับ แอป Google Chat
แก้ปัญหา
เมื่อแอปหรือ การ์ด Google Chat แสดงข้อผิดพลาด อินเทอร์เฟซของ Chat จะแสดงข้อความว่า "เกิดข้อผิดพลาด" หรือ "ดำเนินการตามคำขอของคุณไม่ได้" บางครั้ง UI ของ Chat จะไม่แสดงข้อความแสดงข้อผิดพลาด แต่แอปหรือ การ์ด Chat จะแสดงผลลัพธ์ที่ไม่คาดคิด เช่น ข้อความการ์ดอาจไม่ ปรากฏขึ้น
แม้ว่าข้อความแสดงข้อผิดพลาดอาจไม่แสดงใน UI ของ Chat ข้อความแสดงข้อผิดพลาดที่อธิบายรายละเอียดและข้อมูลบันทึกจะช่วยคุณแก้ไขข้อผิดพลาดได้ เมื่อเปิดการบันทึกข้อผิดพลาดสำหรับแอป Chat หากต้องการความช่วยเหลือในการดู แก้จุดบกพร่อง และแก้ไขข้อผิดพลาด โปรดดูที่ แก้ปัญหาและแก้ไขข้อผิดพลาดของ Google Chat
ล้างข้อมูล
เราขอแนะนำให้คุณลบโปรเจ็กต์ Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินกับบัญชี Google Cloud สำหรับ ทรัพยากรที่ใช้ในบทแนะนำนี้
- ในคอนโซล Google Cloud ให้ไปที่หน้าจัดการทรัพยากร คลิก เมนู > IAM และผู้ดูแลระบบ > จัดการทรัพยากร.
- ในรายการโปรเจ็กต์ ให้เลือกโปรเจ็กต์ที่ต้องการลบ แล้วคลิก ลบ .
- ในกล่องโต้ตอบ ให้พิมพ์รหัสโปรเจ็กต์ แล้วคลิกปิด เพื่อลบ โปรเจ็กต์
หัวข้อที่เกี่ยวข้อง
หากต้องการเพิ่มฟีเจอร์เพิ่มเติมลงในแอป Chat โปรดดูหัวข้อต่อไปนี้