ในฐานะนักพัฒนาแอป Google Chat คุณอาจต้องแก้ไขข้อบกพร่องของโค้ดเพื่อ ทดสอบการเปลี่ยนแปลงหรือแก้ปัญหาที่ซับซ้อน การแก้ไขข้อบกพร่องของแอป Chat ทำได้หลายวิธี ขึ้นอยู่กับสถาปัตยกรรมของแอป สิ่งที่ แอปทำ วิธีการติดตั้งใช้งานแอป และค่ากำหนดของคุณ
หน้านี้อธิบายวิธีแก้ไขข้อบกพร่องของแอปแชท HTTP โดยใช้ ngrok ซึ่งเป็นแพลตฟอร์มขาเข้าแบบรวมที่คุณใช้ทดสอบสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่องได้ ในคู่มือนี้ คุณจะทดสอบการเปลี่ยนแปลงโค้ดในสภาพแวดล้อมในเครื่อง และแก้ปัญหาในสภาพแวดล้อมระยะไกล
แก้ไขข้อบกพร่องจากสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง
ในส่วนนี้ คุณจะโต้ตอบกับแอป Chat ที่ ทำงานในสภาพแวดล้อมในเครื่อง
รูปที่ 1 แก้ไขข้อบกพร่องในสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ในเครื่อง
เวิร์กช็อป
Node.js
Python
Java
ข้อกำหนดเบื้องต้น
Node.js
nodeและnpmเวอร์ชันล่าสุด ติดตั้ง ในสภาพแวดล้อมในพื้นที่ของคุณnodemonเวอร์ชันล่าสุดติดตั้งในสภาพแวดล้อมในเครื่องของคุณ ซึ่งใช้เพื่อวัตถุประสงค์ในการเติมเงินอัตโนมัติnpm install -g nodemonแอปแชท HTTP ที่กำหนดค่าไว้สำหรับการรับส่งข้อความ คุณทำตามส่วนข้อกำหนดเบื้องต้น ตั้งค่า สภาพแวดล้อม และเผยแพร่แอปไปยัง Google Chat ของคู่มือฉบับย่อได้ ความแตกต่างเพียงอย่างเดียวคือคุณต้องตั้งค่าชื่อแอปเป็น
Debug AppและURL ปลายทาง HTTP เป็นอะไรก็ได้ เช่นhttp://example.comIDE ที่ตั้งค่าในสภาพแวดล้อมในเครื่องซึ่งสามารถแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio CodeIDE และฟีเจอร์การแก้ไขข้อบกพร่องเริ่มต้นใน คู่มือนี้เพื่อเป็นตัวอย่างGitติดตั้ง ในสภาพแวดล้อมในเครื่องบัญชี
ngrok
Python
python3ติดตั้ง ในสภาพแวดล้อมในเครื่อง- เมื่อติดตั้ง
pipและvirtualenvเวอร์ชันล่าสุดในสภาพแวดล้อม ในเครื่อง ระบบจะใช้เพื่อจัดการแพ็กเกจ Python และสภาพแวดล้อม เสมือนตามลำดับ - แอปแชท HTTP ที่กำหนดค่าไว้สำหรับการรับส่งข้อความ คุณทำตามส่วนข้อกำหนดเบื้องต้น
ตั้งค่า
สภาพแวดล้อม
และเผยแพร่แอปไปยัง Google
Chat ของคู่มือฉบับย่อได้ ความแตกต่างเพียงอย่างเดียวคือคุณต้องตั้งค่าชื่อแอปเป็น
Debug AppและURL ปลายทาง HTTP เป็นอะไรก็ได้ เช่นhttp://example.com - IDE ที่ตั้งค่าในสภาพแวดล้อมในเครื่องซึ่งสามารถแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio CodeIDE และฟีเจอร์การแก้ไขข้อบกพร่องเริ่มต้นใน คู่มือนี้เพื่อเป็นตัวอย่าง Gitติดตั้ง ในสภาพแวดล้อมในเครื่อง- บัญชี
ngrok gcloudเวอร์ชันล่าสุดที่ติดตั้ง และเริ่มต้นใน สภาพแวดล้อมในเครื่อง
Java
Java SE 11's JDKเวอร์ชันเสถียรล่าสุดที่ติดตั้งในสภาพแวดล้อม ภายในของคุณ- เวอร์ชันล่าสุดของ
Apache Mavenติดตั้งในสภาพแวดล้อมในเครื่อง ใช้เพื่อจัดการโปรเจ็กต์ Java - แอปแชท HTTP ที่กำหนดค่าไว้สำหรับการรับส่งข้อความ คุณทำตามส่วนข้อกำหนดเบื้องต้น
ตั้งค่า
สภาพแวดล้อม
และเผยแพร่แอปไปยัง Google
Chat ของคู่มือฉบับย่อได้ ความแตกต่างเพียงอย่างเดียวคือคุณต้องตั้งค่าชื่อแอปเป็น
Debug Appและทริกเกอร์ข้อความ URL ปลายทาง HTTP เป็นอะไรก็ได้ เช่นhttp://example.com - IDE ที่ตั้งค่าในสภาพแวดล้อมในเครื่องซึ่งสามารถแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio CodeIDE และฟีเจอร์การแก้ไขข้อบกพร่องเริ่มต้นใน คู่มือนี้เพื่อเป็นตัวอย่าง Gitติดตั้ง ในสภาพแวดล้อมในเครื่อง- บัญชี
ngrok gcloudเวอร์ชันล่าสุดที่ติดตั้ง และเริ่มต้นใน สภาพแวดล้อมในเครื่อง
ทำให้บริการ localhost พร้อมใช้งานแบบสาธารณะ
คุณต้องเชื่อมต่อสภาพแวดล้อมในเครื่องกับอินเทอร์เน็ตเพื่อให้แอป Chat เข้าถึงได้ ngrokแอปพลิเคชันใช้
เพื่อเปลี่ยนเส้นทางคำขอ HTTP ที่ส่งไปยัง URL สาธารณะไปยังสภาพแวดล้อมในเครื่อง
- ลงชื่อเข้าใช้บัญชี
ngrokในเบราว์เซอร์ในสภาพแวดล้อมในเครื่อง - ติดตั้งแอปพลิเคชันและตั้งค่า
authtokenในสภาพแวดล้อมในเครื่อง - สร้างโดเมนแบบคงที่ในบัญชี
ngrokโดยจะอ้างอิงเป็นNGROK_STATIC_DOMAINในวิธีการของคู่มือนี้
กำหนดค่าแอป Chat
กำหนดค่าแอป Chat ให้ส่งคำขอ HTTP ทั้งหมดไปยัง โดเมนแบบคงที่
ในคอนโซล Google API ให้เปิดหน้า Google Chat API โดยทำดังนี้
คลิกแท็บการกำหนดค่า
ไปที่ฟีเจอร์แบบอินเทอร์แอกทีฟ > การตั้งค่าการเชื่อมต่อ > ทริกเกอร์ แล้ว ตั้งค่า URL ของปลายทาง HTTP สำหรับทริกเกอร์ที่ต้องการทดสอบ (เช่น ข้อความ) เป็น
https://NGROK_STATIC_DOMAINแทนที่
NGROK_STATIC_DOMAINด้วยโดเมนแบบคงที่ในบัญชีngrokของคุณคลิกบันทึก
รูปที่ 2 แอป Chat จะส่งคำขอ HTTP ทั้งหมดไปยังโดเมนแบบคงที่ ngrokบริการสาธารณะทำหน้าที่เป็นตัวเชื่อมระหว่างแอป Chat กับโค้ดของแอปพลิเคชันที่เรียกใช้ในเครื่อง
ทดสอบแอป Chat
คุณสามารถติดตั้งใช้งาน กำหนดค่า ทดสอบ แก้จุดบกพร่อง และโหลดแอป Chat ซ้ำโดยอัตโนมัติได้ในเครื่อง
Node.js
โคลน
googleworkspace/add-ons-samplesที่เก็บจาก GitHub ไปยังสภาพแวดล้อมในเครื่อง ซึ่งมีโค้ดของแอปพลิเคชันที่จะ ดำเนินการgit clone https://github.com/googleworkspace/add-ons-samples.gitจาก
Visual Studio CodeIDE ที่ติดตั้งในสภาพแวดล้อมในเครื่อง ให้ทำดังนี้- เปิดโฟลเดอร์ในหน้าต่างใหม่
add-ons-samples/node/chat/avatar-app กำหนดค่าแอปพลิเคชันสำหรับการแก้ไขข้อบกพร่องในการโหลดอัตโนมัติโดยการเพิ่มสคริปต์ 2 รายการในไฟล์
package.jsonดังนี้{ ... "scripts": { ... "debug": "node --inspect index.js", "debug-watch": "nodemon --watch ./ --exec npm run debug" } ... }จากไดเรกทอรีราก ให้ติดตั้งแอปพลิเคชันโดยทำดังนี้
npm installสร้างและกำหนดค่าการเปิดตัวชื่อ
Debug Watchที่เรียกใช้สคริปต์debug-watchโดยสร้างไฟล์.vscode/launch.jsonในไดเรกทอรีราก{ "version": "0.2.0", "configurations": [{ "type": "node", "request": "launch", "name": "Debug Watch", "cwd": "${workspaceRoot}", "runtimeExecutable": "npm", "runtimeArgs": ["run-script", "debug-watch"] }] }เพิ่มเบรกพอยต์ที่หยุดการประมวลผลคำขอ HTTP ในไฟล์
index.jsและเริ่มเรียกใช้และ แก้ไขข้อบกพร่องด้วยการกำหนดค่าDebug Watchที่เพิ่มไว้ก่อนหน้านี้ ตอนนี้แอปพลิเคชัน ทำงานและรอรับคำขอ HTTP ในพอร์ต9000แล้ว
รูปที่ 3 แอปพลิเคชันกำลังทำงานและรอคำขอ HTTP ในพอร์ต
9000
- เปิดโฟลเดอร์ในหน้าต่างใหม่
เปิดใช้แอปพลิเคชัน
ngrokในสภาพแวดล้อมในเครื่องngrok http --domain=NGROK_STATIC_DOMAIN 9000แทนที่
NGROK_STATIC_DOMAINด้วยโดเมนแบบคงที่ในบัญชีngrokของคุณ ตอนนี้ระบบจะเปลี่ยนเส้นทางคำขอทั้งหมดไปยังสภาพแวดล้อมในเครื่องและพอร์ตที่แอปพลิเคชันใช้
รูปที่ 4 เทอร์มินัลที่มี
ngrokเซิร์ฟเวอร์ทํางานและเปลี่ยนเส้นทางngrokแอปพลิเคชันจะเริ่มอินเทอร์เฟซเว็บใน localhost ด้วย คุณสามารถตรวจสอบกิจกรรมทั้งหมดได้โดยเปิดในเบราว์เซอร์
รูปที่ 5 อินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrokซึ่งไม่แสดงคำขอ HTTPทดสอบแอป Chat โดยส่งข้อความส่วนตัว ไปที่แอป
เปิด Google Chat
คลิกแชทใหม่
ในกล่องโต้ตอบ ให้ป้อนชื่อ แอป Chat
ในผลการค้นหา ให้ค้นหาแอป Chat คลิกเพิ่ม > Chat
ในพื้นที่ข้อความส่วนตัว ให้พิมพ์
Helloแล้วกดenterแอป Chat ของคุณไม่ตอบกลับเนื่องจากกำลัง แก้ไขข้อบกพร่องอยู่
ใน
Visual Studio Codeในสภาพแวดล้อมในเครื่อง คุณจะเห็นว่า การดำเนินการหยุดชั่วคราวที่จุดพักที่ตั้งไว้
รูปที่ 6 การดำเนินการจะหยุดชั่วคราวที่จุดพักที่ตั้งไว้
เมื่อคุณดำเนินการต่อจากดีบักเกอร์
Visual Studio Codeก่อนที่ Google Chat จะหมดเวลา แอป Chat จะตอบกลับข้อความของคุณคุณสามารถตรวจสอบบันทึกคำขอและการตอบกลับ HTTP จากอินเทอร์เฟซเว็บ ที่โฮสต์โดยแอปพลิเคชัน
ngrokในสภาพแวดล้อมในเครื่อง
รูปที่ 7 คำขอ HTTP จากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrokหากต้องการเปลี่ยนลักษณะการทำงานของแอปพลิเคชัน ให้อัปเดตข้อความตอบกลับในไฟล์
index.jsเมื่อคุณบันทึกไฟล์nodemonจะโหลดแอปพลิเคชันอีกครั้งโดยอัตโนมัติด้วยซอร์สโค้ดที่อัปเดตแล้ว และVisual Studio Codeจะยังคงอยู่ในโหมดแก้ไขข้อบกพร่อง
รูปที่ 8 แอปพลิเคชันกำลังทำงานและรอรับคำขอ HTTP ในพอร์ต
9000โดยมีการโหลดการเปลี่ยนแปลงโค้ดคราวนี้แทนที่จะส่งข้อความที่ 2
Helloในพื้นที่ทำงาน คุณ สามารถเลือกคำขอ HTTP สุดท้ายที่บันทึกไว้ในอินเทอร์เฟซเว็บซึ่งโฮสต์โดยแอปพลิเคชันngrokในสภาพแวดล้อมในเครื่อง แล้วคลิกReplayเช่นเดียวกับครั้งที่แล้ว แอป Chat ของคุณจะไม่ตอบกลับ เนื่องจากเรากำลังแก้ไขข้อบกพร่องอยู่เมื่อดำเนินการต่อจากดีบักเกอร์ของ
Visual Studio Codeคุณจะเห็นจากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชันngrokใน สภาพแวดล้อมในเครื่องว่าแอปพลิเคชันสร้างการตอบกลับด้วย ข้อความเวอร์ชันที่อัปเดตแล้ว
Python
รับข้อมูลเข้าสู่ระบบของผู้ใช้ใหม่เพื่อใช้สำหรับข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
gcloud config set project PROJECT_IDgcloud auth application-default loginแทนที่
PROJECT_IDด้วย รหัสโปรเจ็กต์ สำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของแอปโคลน
googleworkspace/add-ons-samplesที่เก็บจาก GitHub ไปยังสภาพแวดล้อมในเครื่อง ซึ่งมีโค้ดของแอปพลิเคชันgit clone https://github.com/googleworkspace/add-ons-samples.gitจาก
Visual Studio CodeIDE ที่ติดตั้งในสภาพแวดล้อมในเครื่อง ให้ทำดังนี้- เปิดโฟลเดอร์ในหน้าต่างใหม่
add-ons-samples/python/chat/avatar-app สร้างสภาพแวดล้อมเสมือนใหม่สำหรับ Python
envแล้วเปิดใช้งานvirtualenv envsource env/bin/activateติดตั้งทรัพยากร Dependency ของโปรเจ็กต์ทั้งหมดโดยใช้
pipในสภาพแวดล้อมเสมือนpip install -r requirements.txtสร้างไฟล์
.vscode/launch.jsonในไดเรกทอรีรากและ กำหนดค่าการเปิดตัวชื่อDebug Watchที่ทริกเกอร์แอปพลิเคชัน จากโมดูลfunctions-frameworkในพอร์ต9000ในโหมดแก้ไขข้อบกพร่อง ในสภาพแวดล้อมเสมือนenv:{ "version": "0.2.0", "configurations": [{ "type": "python", "request": "launch", "name": "Debug Watch", "python": "${workspaceFolder}/env/bin/python3", "module": "functions_framework", "args": [ "--target", "avatar_app", "--port", "9000", "--debug" ] }] }เพิ่มเบรกพอยต์ที่หยุดการประมวลผลคำขอ HTTP ในไฟล์
main.pyและเริ่มเรียกใช้และ แก้ไขข้อบกพร่องด้วยการกำหนดค่าDebug Watchที่เพิ่มไว้ก่อนหน้านี้ ตอนนี้แอปพลิเคชัน ทำงานและรอรับคำขอ HTTP ในพอร์ต9000แล้ว
รูปที่ 3 แอปพลิเคชันกำลังทำงานและรอคำขอ HTTP ในพอร์ต
9000
- เปิดโฟลเดอร์ในหน้าต่างใหม่
เปิดใช้แอปพลิเคชัน
ngrokในสภาพแวดล้อมในเครื่องngrok http --domain=NGROK_STATIC_DOMAIN 9000แทนที่
NGROK_STATIC_DOMAINด้วยโดเมนแบบคงที่ในบัญชีngrokของคุณ ตอนนี้ระบบจะเปลี่ยนเส้นทางคำขอทั้งหมดไปยังสภาพแวดล้อมในเครื่องและพอร์ตที่แอปพลิเคชันใช้
รูปที่ 4 เทอร์มินัลที่มี
ngrokเซิร์ฟเวอร์ทํางานและเปลี่ยนเส้นทางngrokแอปพลิเคชันจะเริ่มอินเทอร์เฟซเว็บใน localhost ด้วย คุณสามารถตรวจสอบกิจกรรมทั้งหมดได้โดยเปิดในเบราว์เซอร์
รูปที่ 5 อินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrokซึ่งไม่แสดงคำขอ HTTPทดสอบแอป Chat โดยส่งข้อความส่วนตัว ไปที่แอป
เปิด Google Chat
คลิกแชทใหม่
ในกล่องโต้ตอบ ให้ป้อนชื่อ แอป Chat
ในผลการค้นหา ให้ค้นหาแอป Chat คลิกเพิ่ม > Chat
ในพื้นที่ข้อความส่วนตัว ให้พิมพ์
Hey!แล้วกดenterแอป Chat ของคุณไม่ตอบกลับเนื่องจากกำลัง ดีบักอยู่
ใน
Visual Studio Codeในสภาพแวดล้อมในเครื่อง คุณจะเห็นว่า การดำเนินการหยุดชั่วคราวที่จุดพักที่ตั้งไว้
รูปที่ 6 การดำเนินการจะหยุดชั่วคราวที่จุดพักที่ตั้งไว้
เมื่อคุณดำเนินการต่อจากดีบักเกอร์
Visual Studio Codeก่อนที่ Google Chat จะหมดเวลา แอป Chat จะตอบกลับด้วยชื่อและรูปโปรไฟล์ของคุณในข้อความคุณสามารถตรวจสอบบันทึกคำขอและการตอบกลับ HTTP จากอินเทอร์เฟซเว็บ ที่โฮสต์โดยแอปพลิเคชัน
ngrokในสภาพแวดล้อมในเครื่อง
รูปที่ 7 คำขอ HTTP จากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrokหากต้องการเปลี่ยนลักษณะการทำงานของแอปพลิเคชัน ให้แทนที่
Helloด้วยHeyในไฟล์main.pyเมื่อบันทึกไฟล์Visual Studio Codeระบบจะโหลดแอปพลิเคชันใหม่โดยอัตโนมัติด้วยซอร์สโค้ดที่อัปเดตแล้วและ ยังคงอยู่ในโหมดแก้ไขข้อบกพร่อง
รูปที่ 8 แอปพลิเคชันกำลังทำงานและรอคำขอ HTTP ในพอร์ต
9000โดยมีการโหลดการเปลี่ยนแปลงโค้ดคราวนี้แทนที่จะส่งข้อความที่ 2
Hey!ในพื้นที่ทำงาน คุณ สามารถเลือกคำขอ HTTP สุดท้ายที่บันทึกไว้ในอินเทอร์เฟซเว็บซึ่งโฮสต์โดยแอปพลิเคชันngrokในสภาพแวดล้อมในเครื่อง แล้วคลิกReplayเช่นเดียวกับครั้งที่แล้ว แอป Chat ของคุณจะไม่ตอบกลับ เนื่องจากเรากำลังแก้ไขข้อบกพร่องอยู่เมื่อดำเนินการต่อจากดีบักเกอร์ของ
Visual Studio Codeคุณจะเห็นจากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชันngrokใน สภาพแวดล้อมในเครื่องว่าแอปพลิเคชันสร้างการตอบกลับด้วย ข้อความเวอร์ชันที่อัปเดตแล้ว
Java
รับข้อมูลเข้าสู่ระบบของผู้ใช้ใหม่เพื่อใช้สำหรับข้อมูลรับรองเริ่มต้นของแอปพลิเคชัน
gcloud config set project PROJECT_IDgcloud auth application-default loginแทนที่
PROJECT_IDด้วย รหัสโปรเจ็กต์ สำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของแอปโคลน
googleworkspace/add-ons-samplesที่เก็บจาก GitHub ในสภาพแวดล้อมในเครื่อง ซึ่งมีโค้ดของแอปพลิเคชันgit clone https://github.com/googleworkspace/add-ons-samples.gitจาก
Visual Studio CodeIDE ที่ติดตั้งในสภาพแวดล้อมในเครื่อง ให้ทำดังนี้- เปิดโฟลเดอร์ในหน้าต่างใหม่
add-ons-samples/java/chat/avatar-app กำหนดค่าโปรเจ็กต์ Maven เพื่อเรียกใช้แอปพลิเคชัน
Appในพอร์ต9000ในเครื่องโดยเพิ่มปลั๊กอินบิลด์ Google Cloud Functions Frameworkfunction-maven-pluginในไฟล์pom.xml... <plugin> <groupId>com.google.cloud.functions</groupId> <artifactId>function-maven-plugin</artifactId> <version>0.11.0</version> <configuration> <functionTarget>App</functionTarget> <port>9000</port> </configuration> </plugin> ...ตอนนี้คุณเปิดใช้ในเครื่องในโหมดแก้ไขข้อบกพร่องได้แล้วโดยทำดังนี้
mvnDebug function:run Preparing to execute Maven in debug mode Listening for transport dt_socket at address: 8000สร้างไฟล์
.vscode/launch.jsonในไดเรกทอรีรากและ กำหนดค่าการเปิดตัวชื่อRemote Debug Watchที่แนบกับ แอปพลิเคชันที่เปิดตัวก่อนหน้านี้ด้วยพอร์ต8000{ "version": "0.2.0", "configurations": [{ "type": "java", "request": "attach", "name": "Remote Debug Watch", "projectName": "http-function", "hostName": "localhost", "port": 8000 }] }เพิ่มเบรกพอยต์ที่หยุดการประมวลผลคำขอ HTTP ชั่วคราวในไฟล์
App.javaแล้วเริ่มการแนบและ การแก้ไขข้อบกพร่องด้วยการกำหนดค่าRemote Debug Watchที่เพิ่มไว้ก่อนหน้านี้ ตอนนี้แอปพลิเคชันทำงานและรอรับคำขอ HTTP ในพอร์ต9000แล้ว
รูปที่ 3 แอปพลิเคชันกำลังทำงานและรอรับคำขอ HTTP บนพอร์ต
9000
- เปิดโฟลเดอร์ในหน้าต่างใหม่
เปิดใช้แอปพลิเคชัน
ngrokในสภาพแวดล้อมในเครื่องngrok http --domain=NGROK_STATIC_DOMAIN 9000แทนที่
NGROK_STATIC_DOMAINด้วยโดเมนแบบคงที่ในบัญชีngrokของคุณ ตอนนี้ระบบจะเปลี่ยนเส้นทางคำขอทั้งหมดไปยังสภาพแวดล้อมในเครื่องและพอร์ตที่แอปพลิเคชันใช้
รูปที่ 4 เทอร์มินัลที่มี
ngrokเซิร์ฟเวอร์ทํางานและเปลี่ยนเส้นทางngrokแอปพลิเคชันจะเริ่มอินเทอร์เฟซเว็บใน localhost ด้วย คุณสามารถตรวจสอบกิจกรรมทั้งหมดได้โดยเปิดในเบราว์เซอร์
รูปที่ 5 อินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrokซึ่งไม่แสดงคำขอ HTTPทดสอบแอป Chat โดยส่งข้อความส่วนตัว ไปที่แอป
เปิด Google Chat
คลิกแชทใหม่
ในกล่องโต้ตอบ ให้ป้อนชื่อ แอป Chat
ในผลการค้นหา ให้ค้นหาแอป Chat คลิกเพิ่ม > Chat
ในพื้นที่ข้อความส่วนตัว ให้พิมพ์
Hey!แล้วกดenterแอป Chat ของคุณไม่ตอบกลับเนื่องจากกำลัง ดีบักอยู่
ใน
Visual Studio Codeในสภาพแวดล้อมในเครื่อง คุณจะเห็นว่า การดำเนินการหยุดชั่วคราวที่จุดพักที่ตั้งไว้
รูปที่ 6 การดำเนินการจะหยุดชั่วคราวที่จุดพักที่ตั้งไว้
เมื่อคุณดำเนินการต่อจากดีบักเกอร์
Visual Studio Codeก่อนที่ Google Chat จะหมดเวลา แอป Chat จะตอบกลับด้วยชื่อและรูปโปรไฟล์ของคุณในข้อความคุณสามารถตรวจสอบบันทึกคำขอและการตอบกลับ HTTP จากอินเทอร์เฟซเว็บ ที่โฮสต์โดยแอปพลิเคชัน
ngrokในสภาพแวดล้อมในเครื่อง
รูปที่ 7 คำขอ HTTP จากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชัน
ngrokหากต้องการเปลี่ยนลักษณะการทำงานของแอปพลิเคชัน ให้แทนที่
Helloด้วยHeyinline55ของไฟล์App.javaรีสตาร์ทกระบวนการmvnDebugและ เปิดRemote Debug Watchอีกครั้งเพื่อแนบและรีสตาร์ท การแก้ไขข้อบกพร่องคราวนี้แทนที่จะส่งข้อความที่ 2
Hey!ในพื้นที่ทำงาน คุณ สามารถเลือกคำขอ HTTP สุดท้ายที่บันทึกไว้ในอินเทอร์เฟซเว็บซึ่งโฮสต์โดยแอปพลิเคชันngrokในสภาพแวดล้อมในเครื่อง แล้วคลิกReplayเช่นเดียวกับครั้งที่แล้ว แอป Chat ของคุณจะไม่ตอบกลับ เนื่องจากเรากำลังแก้ไขข้อบกพร่องอยู่เมื่อดำเนินการต่อจากดีบักเกอร์ของ
Visual Studio Codeคุณจะเห็นจากอินเทอร์เฟซเว็บที่โฮสต์โดยแอปพลิเคชันngrokใน สภาพแวดล้อมในเครื่องว่าแอปพลิเคชันสร้างการตอบกลับด้วย ข้อความเวอร์ชันที่อัปเดตแล้ว
แก้ไขข้อบกพร่องจากสภาพแวดล้อมระยะไกล
ในส่วนนี้ คุณจะโต้ตอบกับแอป Chat ที่ ทำงานในสภาพแวดล้อมระยะไกล
รูปที่ 9 แก้ไขข้อบกพร่องจากสภาพแวดล้อมระยะไกล
ข้อกำหนดเบื้องต้น
- พื้นที่ข้อความส่วนตัวที่มีแอป Chat คุณสามารถทำตามส่วนทดสอบแอป Chat ของคู่มือเริ่มใช้งานฉบับย่อและค้นหาแอป Chat เพื่อเริ่มใช้งานได้
- แอปพลิเคชันที่ทำงานในสภาพแวดล้อมระยะไกลของคุณพร้อมดีบักเกอร์
ที่เปิดใช้ในพอร์ตที่กำหนดจะอ้างอิงเป็น
REMOTE_DEBUG_PORTในวิธีการของคู่มือนี้ - สภาพแวดล้อมในเครื่องสามารถ
sshกับสภาพแวดล้อมระยะไกลได้ - IDE ที่ตั้งค่าในสภาพแวดล้อมในเครื่องซึ่งสามารถแก้ไขข้อบกพร่องได้ เราใช้
Visual Studio CodeIDE และฟีเจอร์ การแก้ไขข้อบกพร่องเริ่มต้นในคำแนะนำนี้เพื่อเป็นภาพประกอบ
เชื่อมต่อสภาพแวดล้อมในเครื่องและระยะไกล
ในสภาพแวดล้อมในเครื่องที่คุณต้องการเริ่มการเชื่อมต่อไคลเอ็นต์การแก้ไขข้อบกพร่อง ให้ตั้งค่าอุโมงค์ SSH ดังนี้
ssh -L LOCAL_DEBUG_PORT:localhost:REMOTE_DEBUG_PORT REMOTE_USERNAME@REMOTE_ADDRESSแทนที่ค่าต่อไปนี้
LOCAL_DEBUG_PORT: พอร์ตแก้ไขข้อบกพร่องในสภาพแวดล้อม ในเครื่องREMOTE_USERNAME: ชื่อผู้ใช้ในสภาพแวดล้อมระยะไกลREMOTE_ADDRESS: ที่อยู่ของสภาพแวดล้อมระยะไกลREMOTE_DEBUG_PORT: พอร์ตแก้ไขข้อบกพร่องในสภาพแวดล้อมระยะไกล
ตอนนี้พอร์ตแก้ไขข้อบกพร่องในสภาพแวดล้อมในเครื่องจะลิงก์กับพอร์ตแก้ไขข้อบกพร่องในสภาพแวดล้อมระยะไกลแล้ว
เริ่มแก้ไขข้อบกพร่อง
จาก Visual Studio Code IDE ที่ติดตั้งในสภาพแวดล้อมในเครื่อง ให้ทำดังนี้
- เปิดซอร์สโค้ดของแอปในหน้าต่างใหม่
สร้างไฟล์
.vscode/launch.jsonในไดเรกทอรีรากและกำหนดค่า การเปิดตัวชื่อDebug Remoteที่เชื่อมต่อกับพอร์ตการแก้ไขข้อบกพร่องในสภาพแวดล้อม ในเครื่องNode.js
{ "version": "0.2.0", "configurations": [{ "type": "node", "request": "attach", "name": "Debug Remote", "address": "127.0.0.1", "port": LOCAL_DEBUG_PORT }] }Python
{ "version": "0.2.0", "configurations": [{ "type": "python", "request": "attach", "name": "Debug Remote", "connect": { "host": "127.0.0.1", "port": LOCAL_DEBUG_PORT } }] }Java
{ "version": "0.2.0", "configurations": [{ "type": "java", "request": "attach", "name": "Debug Remote", "hostName": "127.0.0.1", "port": LOCAL_DEBUG_PORT }] }แทนที่
LOCAL_DEBUG_PORTด้วยพอร์ตแก้ไขข้อบกพร่องใน สภาพแวดล้อมในเครื่องเพิ่มเบรกพอยต์ในซอร์สโค้ดของแอปที่หยุดการประมวลผลคำขอ HTTP ชั่วคราว และเริ่มเรียกใช้และ แก้ไขข้อบกพร่องด้วยการกำหนดค่า
Debug Remoteที่เพิ่มไว้ก่อนหน้านี้
ในพื้นที่ข้อความส่วนตัวที่มีแอป Chat ให้พิมพ์ข้อความที่ต้องการทดสอบ แล้วกด enter แอป Chat ของคุณไม่ตอบกลับเนื่องจากกำลังแก้ไขข้อบกพร่อง
ใน IDE Visual Studio Code
หัวข้อที่เกี่ยวข้อง
- ดูวิธีเปิดใช้และ ค้นหาบันทึกข้อผิดพลาด
- ดูวิธีแก้ไขข้อผิดพลาดของแอป Google Chat เช่น "แอปไม่ตอบสนอง" "Google Chat API พร้อมให้บริการแก่ผู้ใช้ Google Workspace เท่านั้น" หรือ "ผู้ใช้สามารถถูกยกเว้น จากพื้นที่ทำงาน"
- ดูวิธีแก้ไขข้อผิดพลาดเกี่ยวกับบัตร เช่น ข้อความบัตร กล่องโต้ตอบ หรือตัวอย่างลิงก์ไม่แสดงผลหรือไม่ทำงานตามที่คาดไว้
แอป Chat ที่ไม่ใช่ส่วนเสริม: แก้ข้อบกพร่องของแอป Google Chat
เอกสารต่อไปนี้ใช้กับแอป Chat ที่ไม่ใช่ส่วนเสริมของ Google Workspace หากต้องการย้ายข้อมูลแอป Chat ที่ไม่ใช่ส่วนเสริม โปรดดูหัวข้อ แปลงแอป Chat เป็นส่วนเสริม Google Workspace
หากต้องการแก้ไขข้อบกพร่องของแอป Chat ที่ไม่ใช่ส่วนเสริมจากสภาพแวดล้อมในเครื่อง ให้ทำดังนี้
- ในแท็บการกำหนดค่าของ Chat API ภายในฟีเจอร์แบบอินเทอร์แอกทีฟ >
การตั้งค่าการเชื่อมต่อ ให้เลือก URL ของปลายทาง HTTP แล้วตั้งค่าฟิลด์ URL ของปลายทาง HTTP เป็น
https://<var>NGROK_STATIC_DOMAIN</var>โดยตรง - ใช้โค้ดตัวอย่างสำหรับแอป Chat ที่ไม่ใช่
ส่วนเสริมจาก
googleworkspace/google-chat-samplesที่เก็บ GitHub (google-chat-samples/node/basic-app,google-chat-samples/python/avatar-appหรือgoogle-chat-samples/java/avatar-app)