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