หากคุณสร้างและเผยแพร่แอป Chat ที่ไม่ใช่ส่วนเสริม Google Workspace หน้านี้จะแสดงวิธีแปลงแอปดังกล่าวเป็นส่วนเสริม Google Workspace ที่ขยาย Google Chat
การแปลงจะช่วยให้แอป Google Chat ใช้เฟรมเวิร์กส่วนเสริมของ Google Workspace ได้ ซึ่งจะเปิดโอกาสใหม่ๆ ในการผสานรวมและฟีเจอร์ต่างๆ ภายใน Google Chat และทั่วทั้ง Google Workspace ตัวอย่างเช่น คุณสามารถเผยแพร่ส่วนเสริม Google Workspace รายการเดียว ผ่าน Google Workspace Marketplace ซึ่งจะขยายแอป Chat ควบคู่ไปกับแอปพลิเคชันโฮสต์อื่นๆ ของ Google Workspace เช่น Gmail, ปฏิทิน และเอกสาร
ข้อจำกัด
ก่อนเริ่มการแปลง โปรดอ่านข้อจำกัดและข้อควรพิจารณาสำหรับส่วนเสริมของ Google Workspace เพื่อให้มั่นใจว่าแอป Chat ที่ไม่ใช่ส่วนเสริมจะแปลงได้โดยไม่สูญเสียฟังก์ชันการทำงานที่จำเป็น
ขั้นตอนที่ 1: คัดลอกโค้ดแอป Google Chat ที่มีอยู่
กระบวนการ Conversion ต้องมีการเปลี่ยนแปลงโค้ด หากไม่ต้องการให้แอป Google Chat ที่ใช้งานจริงได้รับผลกระทบ ให้สร้างและทำงานกับสำเนาของโค้ด
Apps Script
- เปิดโปรเจ็กต์ Google Apps Script ของแอป Google Chat ที่มีอยู่
- คลิกภาพรวม ทางด้านซ้าย
- คลิกทำสำเนา ทางด้านขวา
- ที่ด้านซ้าย ให้คลิกการตั้งค่าโปรเจ็กต์
- ในส่วนโปรเจ็กต์ Google Cloud ให้คลิกเปลี่ยนโปรเจ็กต์
- ป้อนหมายเลขโปรเจ็กต์เดียวกันที่เชื่อมโยงกับโปรเจ็กต์แอป Google Chat ที่มีอยู่
- คลิกตั้งค่าโปรเจ็กต์
HTTP
สร้างฟอร์กหรือสำเนาของฐานของโค้ดที่มีอยู่ แล้วทำให้ใช้งานได้เป็นบริการใหม่ แยกจากแอป Google Chat ที่ใช้งานจริง
หากแอปของคุณได้รับการติดตั้งใช้งานใน Google Cloud และใช้ฟีเจอร์ที่เชื่อมโยงกับ โปรเจ็กต์ Google Cloud (เช่น ข้อมูลประจำตัว App Engine เริ่มต้น) คุณควรติดตั้งใช้งานโค้ดใหม่ในบริการที่เชื่อมโยงกับโปรเจ็กต์แอป Google Chat ที่มีอยู่
ขั้นตอนที่ 2: แก้ไขโค้ดที่คัดลอก
ส่วนเสริมของ Google Workspace ที่ขยายการใช้งาน Google Chat จะใช้โครงสร้างคำขอและ
การตอบกลับที่แตกต่างจากแอป Chat ที่ไม่ใช่
ส่วนเสริม คุณต้องอัปเดตโค้ดเพื่อใช้
ออบเจ็กต์เหตุการณ์ส่วนเสริมของ Google Workspace (EventObject)
แทน
เหตุการณ์การโต้ตอบของ Google Chat API (Event)
สำหรับคำขอและการตอบกลับ
ใช้คำแนะนำในการแปลงโค้ดเพื่อแก้ไขโค้ด
ขั้นตอนที่ 3: เปิดใช้การกำหนดค่าส่วนเสริมของ Google Workspace สำหรับผู้ใช้ทดสอบ
ใช้คอนโซล Google Cloud เพื่อกำหนดการตั้งค่าส่วนเสริม Google Workspace สำหรับแอป Google Chat ของคุณ
ไปที่หน้าการกำหนดค่า Google Chat API ในคอนโซล Google Cloud
ในส่วนฟีเจอร์แบบอินเทอร์แอกทีฟ ให้เปิดเปิดใช้ฟีเจอร์แบบอินเทอร์แอกทีฟ
ในส่วนแปลงเป็นส่วนเสริมของ Google Workspace ให้คลิกแปลงเป็นส่วนเสริม
เปิดใช้เปิดการตั้งค่าการกำหนดค่าส่วนเสริม
ในส่วนระดับการมองเห็น ให้เพิ่มอีเมลของผู้ใช้ทดสอบ
หากจำเป็น ให้อัปเดตการตั้งค่าการเชื่อมต่อด้วย URL ของปลายทางการติดตั้งใช้งานหรือรหัสการติดตั้งใช้งาน Apps Script ของโค้ดแอป Google Chat ที่คัดลอกและแก้ไขจากขั้นตอนที่ 2
คลิกบันทึกและทดสอบ
ขั้นตอนที่ 4: ทดสอบแอปที่แปลงแล้ว
ทดสอบฟังก์ชันการทำงานของส่วนเสริม Google Workspace อย่างละเอียดโดยใช้บัญชีผู้ใช้ทดสอบที่กำหนดค่าไว้ในขั้นตอนที่ 3 ยืนยันฟีเจอร์และการโต้ตอบทั้งหมด
ขั้นตอนที่ 5: ทำ Conversion ให้เสร็จสมบูรณ์สำหรับผู้ใช้ทั้งหมด
หลังจากยืนยันว่าส่วนเสริม Google Workspace ที่แปลงแล้วทำงานได้อย่างถูกต้อง คุณก็ทำให้ส่วนเสริมพร้อมใช้งานสำหรับผู้ใช้ทุกคนได้
ไปที่หน้าการกำหนดค่า Google Chat API ในคอนโซล Google Cloud
คลิกแปลงเป็นส่วนเสริมในส่วนฟีเจอร์แบบอินเทอร์แอกทีฟ แผงด้านข้างจะเปิดขึ้น
คลิกแปลงเป็นส่วนเสริมในแผงด้านข้าง
พิมพ์รหัสโปรเจ็กต์ แล้วคลิกแปลง
ตอนนี้แอป Google Chat ของคุณเป็นส่วนเสริมของ Google Workspace ที่ขยาย Google Chat
ไม่บังคับ: ล้างข้อมูลหรือปล่อยทรัพยากร Google Cloud ที่ไม่ได้ใช้
ไม่บังคับ: หลังจากแปลงแอป Google Chat เป็น ส่วนเสริมของ Google Workspace แล้ว หากต้องการหลีกเลี่ยง การเรียกเก็บเงินจากบัญชี Google Cloud สำหรับทรัพยากรที่แอป Google Chat ใช้ซึ่งไม่ได้ใช้งานแล้ว ให้พิจารณาปิดทรัพยากรเหล่านั้น
คู่มือการแปลงโค้ด
ส่วนนี้จะอธิบายรายละเอียดการแมประหว่างรูปแบบการโต้ตอบของ Google Chat API
Event
กับรูปแบบของส่วนเสริม Google Workspace
EventObject
การแมปคำขอ
ตารางต่อไปนี้แสดงวิธีที่ฟิลด์ใน Google Chat API
Event สำหรับ
แอป Chat ที่ไม่ใช่ส่วนเสริม
แมปกับฟิลด์ที่เกี่ยวข้องในส่วนเสริม Google Workspace
EventObject
แอป Chat ที่ไม่ใช่ส่วนเสริม (ฟิลด์ Event) |
ฟิลด์EventObjectส่วนเสริมของ Google Workspace |
หมายเหตุ |
|---|---|---|
action.actionMethodName |
ไม่มี | สำหรับการโต้ตอบกับบัตร คุณสามารถส่งชื่อเมธอดเป็นพารามิเตอร์ใน commonEventObject.parameters ดูเปิดกล่องโต้ตอบเริ่มต้น |
action.parameters |
commonEventObject.parameters |
|
appCommandMetadata |
chat.appCommandPayload.appCommandMetadata |
|
common |
commonEventObject |
|
configCompleteRedirectUrl |
|
พร้อมใช้งานในเพย์โหลดต่างๆ โดยขึ้นอยู่กับประเภทเหตุการณ์ |
dialogEventType |
|
พร้อมใช้งานในเพย์โหลดต่างๆ โดยขึ้นอยู่กับประเภทเหตุการณ์ |
eventTime |
chat.eventTime |
|
isDialogEvent |
|
พร้อมใช้งานในเพย์โหลดต่างๆ โดยขึ้นอยู่กับประเภทเหตุการณ์ |
message |
|
พร้อมใช้งานในเพย์โหลดต่างๆ โดยขึ้นอยู่กับประเภทเหตุการณ์ |
space |
|
|
thread |
|
พร้อมใช้งานในเพย์โหลดต่างๆ โดยขึ้นอยู่กับประเภทเหตุการณ์ |
threadKey |
|
พร้อมใช้งานในเพย์โหลดต่างๆ โดยขึ้นอยู่กับประเภทเหตุการณ์ |
token |
ไม่มี | การยืนยันจะได้รับการจัดการแตกต่างกัน โปรดดูขอรับการยืนยันสำหรับแอป HTTP |
type |
ไม่มี | ระบบจะอนุมานประเภทเหตุการณ์จากทริกเกอร์ |
user |
chat.user |
ขอการแมปตามกรณีการใช้งาน
ตารางต่อไปนี้แสดงความแตกต่างในเพย์โหลดคำขอสำหรับกรณีการใช้งานทั่วไป ระหว่างแอป Chat ที่ไม่ใช่ส่วนเสริมกับ ส่วนเสริม Google Workspace ที่ขยาย Google Chat
| กรณีการใช้งาน | แอปแชทที่ไม่ใช่ส่วนเสริม (Payload ของ Event) |
เพย์โหลดของส่วนเสริม Google Workspace EventObject |
|---|---|---|
| เพิ่มแอปไปยังพื้นที่ทำงานแล้ว | { "type": "ADDED_TO_SPACE", "space": { ... } } |
{ "chat": { "addedToSpacePayload": { "space": { ... } } } } |
| นำแอปออกจากพื้นที่ทำงาน | { "type": "REMOVED_FROM_SPACE", "space": { ... } } |
{ "chat": { "removedFromSpacePayload": { "space": { ... } } } } |
| ผู้ใช้ @พูดถึงแอป | { "type": "MESSAGE", "message": { ... }, "space": { ... }, "configCompleteRedirectUrl": "..." } |
{ "chat": { "messagePayload": { "message": { ... }, "space": { ... }, "configCompleteRedirectUri": "..." } } } |
| ผู้ใช้ @พูดถึงแอปเพื่อเพิ่มแอปไปยังพื้นที่ทำงาน | คุณต้องจัดการคำขอจาก Google Chat 1 รายการ ดังนี้{ "type": "ADDED_TO_SPACE", "space": { ... }, "message": { ... } } |
คุณต้องจัดการคำขอ 2 รายการจาก Google Chat คำขอแรก { "chat": { "addedToSpacePayload": { "space": { ... }, "interactionAdd": true } } } คำขอที่ 2: { "chat": { "messagePayload": { "message": { ... }, "space": { ... } } } } |
| คำสั่งเครื่องหมายทับ | { "type": "MESSAGE", "message": { "slashCommand": { ... } }, "space": { ... } } |
{ "chat": { "appCommandPayload": { "message": { ... }, "space": { ... }, "appCommandMetadata": { ... } } } } |
| คำสั่งเครื่องหมายทับเพื่อเพิ่มแอปไปยังพื้นที่ทำงาน | คุณต้องจัดการคำขอจาก Google Chat 1 รายการ ดังนี้{ "type": "ADDED_TO_SPACE", "space": { ... }, "message": { "slashCommand": { ... } } } |
คุณต้องจัดการคำขอ 2 รายการจาก Google Chat คำขอแรก { "chat": { "addedToSpacePayload": { "space": { ... }, "interactionAdd": true } } } คำขอที่ 2: { "chat": { "appCommandPayload": { "message": { ... }, "space": { ... }, "appCommandMetadata": { ... } } } } |
| ผู้ใช้คลิกปุ่มในการ์ดหรือกล่องโต้ตอบ | { "type": "CARD_CLICKED", "common": { ... }, "space": { ... }, "message": { ... }, "isDialogEvent": "...", "dialogEventType": "..." } สําหรับเหตุการณ์กล่องโต้ตอบ { "type": "CARD_CLICKED", "common": { "formInputs": { "contactName": { "": { "stringInputs": { "value": ["Kai 0"] }} } } }, "space": { ... }, "message": { ... }, "isDialogEvent": true, "dialogEventType": "..." } |
{ "commonEventObject": { ... }, "chat": { "buttonClickedPayload": { "message": { ... }, "space": { ... }, "isDialogEvent": "...", "dialogEventType": "..." } } } สําหรับเหตุการณ์กล่องโต้ตอบ { "commonEventObject": { "formInputs": { "contactName": { "stringInputs": { "value": ["Kai 0"] } } } }, "chat": { "buttonClickedPayload": { "message": { ... }, "space": { ... }, "isDialogEvent": "true", "dialogEventType": "..." } } } |
| ผู้ใช้ส่งข้อมูลในการ์ดหน้าแรกของแอป | { "type": "SUBMIT_FORM", "common": { ... }, "space": { ... }, "message": { ... }, "isDialogEvent": "...", "dialogEventType": "..." } |
{ "commonEventObject": { ... }, "chat": { "buttonClickedPayload": { "message": { ... }, "space": { ... }, "isDialogEvent": "...", "dialogEventType": "SUBMIT_DIALOG" } } } |
| ผู้ใช้เรียกใช้คำสั่งแอปโดยใช้คำสั่งด่วน | { "type": "APP_COMMAND", "space": { ... }, "isDialogEvent": "...", "dialogEventType": "..." } |
{ "chat": { "appCommandPayload": { "message": { ... }, "space": { ... }, "appCommandMetadata": { ... } } } } |
| หน้าตัวอย่างลิงก์ | { "type": "MESSAGE", "message": { "matchedUrl": "..." }, "space": { ... } } |
{ "chat": { "messagePayload": { "message": { "matchedUrl": "..." }, "space": { ... } } } } |
| ผู้ใช้อัปเดตวิดเจ็ตในข้อความการ์ดหรือกล่องโต้ตอบ | { "type": "WIDGET_UPDATED", "space": { ... }, "common": { ... } } |
{ "commonEventObject": { ... }, "chat": { "widgetUpdatedPayload": { "space": { ... } } } } |
การแมปการตอบกลับตามกรณีการใช้งาน
ส่วนเสริม Google Workspace ที่ขยาย Google Chat จะแสดงผลการดำเนินการแทนออบเจ็กต์
Message ตารางต่อไปนี้จะจับคู่Messageประเภทการตอบกลับ
ของ Google Chat API สำหรับแอป Chat ที่ไม่ใช่
ส่วนเสริมกับเทียบเท่าการดำเนินการของส่วนเสริม Google Workspace
| กรณีการใช้งาน | แอปแชทที่ไม่ใช่ส่วนเสริม (คำตอบของ Message) |
การตอบกลับการดำเนินการใน Chat ของส่วนเสริม Google Workspace |
|---|---|---|
| สร้างข้อความในพื้นที่ทำงานที่เรียกใช้ | { "actionResponse": { "type": "NEW_MESSAGE" }, "text": "..." }
|
{ "hostAppDataAction": { "chatDataAction": { "createMessageAction": { "message": { "text": "..." } } } } } ดูข้อมูลเพิ่มเติมได้ที่หัวข้อตอบกลับด้วยข้อความ |
| อัปเดตข้อความ | { "actionResponse": { "type": "UPDATE_MESSAGE" }, "text": "..." } ดูข้อมูลเพิ่มเติมได้ที่อัปเดตข้อความ |
{ "hostAppDataAction": { "chatDataAction": { "updateMessageAction": { "message": { "text": "..." } } } } } ดูข้อมูลเพิ่มเติมได้ที่อัปเดตข้อความ |
| หน้าตัวอย่างลิงก์ | { "actionResponse": { "type": "UPDATE_USER_MESSAGE_CARDS" }, "cardsV2": [{ ... }] } ดูข้อมูลเพิ่มเติมได้ที่ลิงก์ตัวอย่าง |
{ "hostAppDataAction": { "chatDataAction": { "updateInlinePreviewAction": { "cardsV2": [{ ... }] } } } } ดูข้อมูลเพิ่มเติมได้ที่ลิงก์ตัวอย่าง |
| เปิดกล่องโต้ตอบเริ่มต้น | { "actionResponse": { "type": "DIALOG", "dialogAction": { "dialog": { "body": { /* Card object */ } } } } } ดูข้อมูลเพิ่มเติมได้ที่เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ |
{ "action": { "navigations": [{ "pushCard": { /* Card object */ } }] } } การ์ดที่คุณพุชอาจมีวิดเจ็ตที่มี onClickการดำเนินการ สําหรับส่วนเสริมของ Google Workspace ที่ใช้ HTTP ให้กําหนดค่าการดําเนินการต่อไปนี้เพื่อเรียกปลายทางฟังก์ชัน { "onClick": { "action": { "function": "https://...", "parameters": [{ "key": "clickedButton", "value": "submit" }] } } } ดูข้อมูลเพิ่มเติมได้ที่เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ |
| ปิดกล่องโต้ตอบ | { "actionResponse": { "type": "DIALOG", "dialogAction": { "actionStatus": { "userFacingMessage": "..." } } } } ดูข้อมูลเพิ่มเติมได้ที่ปิดกล่องโต้ตอบ |
{ "action": { "navigations": [{ "endNavigation": "CLOSE_DIALOG" }], "notification": { "text": "..."} } } ดูข้อมูลเพิ่มเติมได้ที่ปิดกล่องโต้ตอบ |
| เชื่อมต่อกับระบบภายนอก (กำหนดค่าคำขอ) | { "actionResponse": { "type": "REQUEST_CONFIG", "url": "..." } } ดูข้อมูลเพิ่มเติมได้ที่เชื่อมต่อกับระบบภายนอก (แอป Chat ที่ไม่ใช่ส่วนเสริม) |
{ "basic_authorization_prompt": { "authorization_url": "...", "resource": "..." } } ดูข้อมูลเพิ่มเติมได้ที่เชื่อมต่อแอป Chat กับบริการและเครื่องมืออื่นๆ |
| รายการเติมข้อความอัตโนมัติในวิดเจ็ตแบบอินเทอร์แอกทีฟ | { "actionResponse": { "type": "UPDATE_WIDGET", "updatedWidget": { "suggestions": { "items": ["..."] }, "widget": "widget_id" } } } ดูข้อมูลเพิ่มเติมได้ที่เพิ่มเมนูแบบเลือกหลายรายการ |
{ "action": { "modifyOperations": [{ "updateWidget": { "widgetId": "widget_id", "selectionInputWidgetSuggestions": { "suggestions": ["..."] } } }] } } ดูข้อมูลเพิ่มเติมได้ที่อ่านข้อมูลแบบฟอร์มที่ผู้ใช้ป้อนในบัตร |
จัดการการโต้ตอบกับบัตรในข้อความที่สร้างขึ้นก่อน Conversion
เมื่อแปลงแอปแชท HTTP ที่ไม่ใช่ส่วนเสริมเป็นส่วนเสริมของ Google Workspace การโต้ตอบของการ์ดในข้อความที่สร้างขึ้นก่อนการแปลงจะต้องมีการจัดการเป็นพิเศษ ส่วนเสริมใช้ HTTP URL แบบเต็มสำหรับ action.function ของการ์ด ขณะที่แอปแชทที่ไม่ใช่ส่วนเสริมจะใช้ชื่อฟังก์ชัน
ตารางต่อไปนี้จะสรุปความแตกต่างเหล่านี้
| แอป Chat ที่ไม่ใช่ส่วนเสริม | ส่วนเสริมของ Google Workspace ที่ขยาย Google Chat | |
|---|---|---|
| การกำหนดค่า | คุณกำหนดค่าปลายทางเดียวสำหรับเหตุการณ์ทั้งหมดในคอนโซล Google Cloud เมื่อใช้การโต้ตอบกับการ์ด action ของการ์ดจะมีเฉพาะชื่อของฟังก์ชันที่จะดำเนินการ ระบบจะเรียกใช้ปลายทาง HTTP ทั่วไปสำหรับเหตุการณ์การคลิกการ์ด
ดูข้อมูลเพิ่มเติมได้ที่เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ { "onClick": { "action": { "function": "submit" } } } |
คุณเลือกกำหนดค่าปลายทางต่อเหตุการณ์ในคอนโซล Google Cloud ได้ แต่จะไม่รวมเหตุการณ์การคลิกการ์ด เมื่อใช้การโต้ตอบกับการ์ด action ของการ์ดต้องมี URL แบบเต็มของปลายทาง HTTP ที่จะเรียกใช้ คุณสามารถตั้งค่าปลายทาง HTTP ที่ไม่ซ้ำกันต่อปุ่ม หรือใช้ปลายทางทั่วไปและส่งการดำเนินการเป็นพารามิเตอร์ใน action.parameters ได้
ดูข้อมูลเพิ่มเติมได้ที่เปิดกล่องโต้ตอบแบบอินเทอร์แอกทีฟ { "onClick": { "action": { "function": "https://...", "parameters": [{ "key": "method", "value": "submit" }] } } } |
หากต้องการให้การโต้ตอบกับการ์ดทํางานได้สําหรับข้อความที่สร้างขึ้นก่อน Conversion ให้กําหนดค่าURL การโต้ตอบกับการ์ดในหน้าการกําหนดค่า Google Chat API
URL นี้ใช้สำหรับการโต้ตอบในข้อความที่สร้างขึ้นก่อนที่คุณจะแปลงแอปเท่านั้น เมื่อผู้ใช้โต้ตอบกับข้อความใดข้อความหนึ่งเหล่านี้ ระบบจะส่งค่า action.function เดิมเป็นพารามิเตอร์ที่ชื่อ __action_method_name__
ตัวอย่าง: การคลิกการ์ด
หากคุณกำหนดค่า URL การโต้ตอบกับการ์ดเป็น https://.../card-interaction-handler และผู้ใช้คลิกการ์ดในข้อความที่ผ่านมาพร้อมการดำเนินการต่อไปนี้
{
"onClick": {
"action": {
"function": "submit"
}
}
}
ระบบจะส่งเหตุการณ์ไปยัง Card Interaction URL ที่กำหนดค่าไว้ในรูปแบบต่อไปนี้
{
"commonEventObject": {
"parameters": {
"__action_method_name__": "submit"
}
},
"chat": {
"buttonClickedPayload": { ... }
}
}
ตัวอย่าง: เมนูแบบเลือกหลายรายการ
หากผู้ใช้โต้ตอบกับเมนูแบบเลือกหลายรายการที่มีแหล่งข้อมูลภายนอก จะเกิดสิ่งต่อไปนี้
{
"selectionInput": {
"name": "contacts",
"type": "MULTI_SELECT",
"externalDataSource": {
"function": "getContacts"
}
}
}
ระบบจะส่งเหตุการณ์ไปยัง Card Interaction URL ที่กำหนดค่าไว้ในรูปแบบต่อไปนี้
{
"commonEventObject": {
"parameters": {
"__action_method_name__": "getContacts",
}
},
"chat": {
"widgetUpdatedPayload": { ... }
}
}
หากเปิดใช้ URL ปลายทาง HTTP ทั่วไปสำหรับทริกเกอร์ทั้งหมดสำหรับทริกเกอร์ HTTP ระบบจะใช้ URL ทั่วไปสำหรับเหตุการณ์คลิกปุ่มด้วย
ยืนยันคำขอสำหรับส่วนเสริม HTTP ของ Google Workspace ที่ขยาย Chat
สำหรับแอป Google Chat ที่ใช้ HTTP คุณจะต้องอัปเดตตรรกะเพื่อยืนยันว่าคำขอมาจาก Google เมื่อแปลงเป็นส่วนเสริมของ Google Workspace
- การยืนยันสำหรับแอป Chat HTTP ที่ไม่ใช่ส่วนเสริม: ยืนยันคำขอจาก Google Chat
- การยืนยัน HTTP ของส่วนเสริม Google Workspace: การยืนยันคำขอจาก Google
ความแตกต่างที่สำคัญในการยืนยันคำขอมีดังนี้
| ประเภทแอป | กลุ่มเป้าหมายที่รองรับ | อีเมลบัญชีบริการ |
|---|---|---|
| แอป Chat ที่ไม่ใช่ส่วนเสริม | หมายเลขโปรเจ็กต์ | chat@system.gserviceaccount.com |
| ส่วนเสริม Google Workspace ที่ขยาย Google Chat | ปลายทาง HTTP เท่านั้น | อีเมลของบัญชีบริการต่อโปรเจ็กต์ |
คุณดูอีเมลของบัญชีบริการที่ไม่ซ้ำกันสำหรับส่วนเสริม Google Workspace ได้ในส่วนแปลงเป็นส่วนเสริม Google Workspace ในหน้าการกำหนดค่า Google Chat API ในคอนโซล Google Cloud
วิธียืนยันคำขอในส่วนเสริม Google Workspace ที่อัปเกรดแล้ว
- หากใช้ฟังก์ชัน Cloud Run ให้มอบบทบาท
roles/cloudfunctions.invokerให้กับบัญชีบริการต่อส่วนเสริม ดูให้สิทธิ์เข้าถึงด้วย IAM - อัปเดตรหัสยืนยันโทเค็นเพื่อใช้อีเมลของบัญชีบริการของส่วนเสริม Google Workspace เพื่อยืนยันลายเซ็นของโทเค็นสำหรับผู้ถือ ดูตรวจสอบคำขอจาก Google