หน้านี้อธิบายวิธีใช้ Google Workspace Events API เพื่อสร้างการสมัครใช้บริการทรัพยากร Google Workspace การสมัครใช้บริการ Google Workspace ช่วยให้แอปของคุณได้รับข้อมูลเกี่ยวกับเหตุการณ์ใน Google Workspace ซึ่งแสดงถึงการเปลี่ยนแปลงในทรัพยากร Google Workspace หากต้องการดูข้อมูลเกี่ยวกับแหล่งข้อมูลและประเภทเหตุการณ์ที่ Google Workspace Events API รองรับ โปรดดูภาพรวมของ Google Workspace Events API
หน้านี้ประกอบด้วยขั้นตอนต่อไปนี้สำหรับการสร้างการสมัครใช้บริการ Google Workspace
- ตั้งค่าสภาพแวดล้อม
- สร้างและสมัครใช้บริการหัวข้อ Google Cloud Pub/Sub ใช้เอกสารนี้เป็นปลายทางเพื่อรับเหตุการณ์ Google Workspace
- เรียกใช้เมธอด
createของ Google Workspace Events API ในทรัพยากรSubscription - ทดสอบการสมัครใช้บริการ Google Workspace เพื่อยืนยันว่าหัวข้อ Pub/Sub ได้รับเหตุการณ์ที่คุณสมัครรับข้อมูล
- หรือจะกำหนดค่าวิธีพุชเหตุการณ์ไปยังปลายทางสำหรับแอปของคุณก็ได้ เพื่อให้แอปประมวลผลเหตุการณ์และดำเนินการได้หากจำเป็น
ข้อกำหนดเบื้องต้น
Apps Script
- หากต้องการใช้คำสั่ง Google Cloud CLI ในคู่มือนี้ ให้ทำดังนี้
- ติดตั้ง Google Cloud CLI
- หากต้องการ
เริ่มต้น
gcloudCLI ให้เรียกใช้โค้ดต่อไปนี้
gcloud init
- โปรเจ็กต์ Apps Script
- ใช้โปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google แทนโปรเจ็กต์เริ่มต้นที่ Apps Script สร้างขึ้นโดยอัตโนมัติ
- สำหรับขอบเขตทั้งหมดที่คุณเพิ่มเพื่อกำหนดค่าหน้าจอขอความยินยอม OAuth คุณต้องเพิ่มขอบเขตลงในไฟล์
appsscript.jsonในโปรเจ็กต์ Apps Script ด้วย เช่น หากคุณระบุขอบเขตchat.messagesให้เพิ่มรายการต่อไปนี้ - เปิดใช้บริการขั้นสูง
Google Workspace Events
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน สำหรับการสมัครใช้บริการ Chat คุณต้องเปิดใช้ Chat API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ และกำหนดค่าช่องชื่อแอป URL ของรูปโปรไฟล์ และคำอธิบายด้วย โปรดดูรายละเอียดที่หัวข้อสร้างแอป Google Chat
-
ต้องมีการตรวจสอบสิทธิ์และขอบเขตการให้สิทธิ์ที่เหมาะสมสำหรับเหตุการณ์แต่ละประเภทในการสมัครใช้บริการ ดังนี้
- โดยปกติแล้วจะต้องมีการตรวจสอบสิทธิ์ผู้ใช้ด้วยหน้าจอขอความยินยอม OAuth ที่กำหนดค่าไว้สำหรับแอป เมื่อกำหนดค่าหน้าจอขอความยินยอม คุณต้องระบุขอบเขตเพื่อรองรับเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ หากต้องการกำหนดค่าหน้าจอขอความยินยอมและระบุขอบเขตที่จำเป็น โปรดดูหัวข้อเลือกขอบเขต
- หากต้องการสมัครรับข้อมูลเหตุการณ์ใน Chat ในฐานะแอปใน Chat คุณต้องตรวจสอบสิทธิ์แอปด้วยการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียว
Python
- Python 3.6 ขึ้นไป
- เครื่องมือการจัดการแพ็กเกจ pip
- ไลบรารีของไคลเอ็นต์ Google ล่าสุดสำหรับ Python หากต้องการติดตั้งหรืออัปเดต ให้เรียกใช้คำสั่งต่อไปนี้ในอินเทอร์เฟซบรรทัดคำสั่ง
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- หากต้องการใช้คำสั่ง Google Cloud CLI ในคู่มือนี้ ให้ทำดังนี้
- ติดตั้ง Google Cloud CLI
- หากต้องการ
เริ่มต้น
gcloudCLI ให้เรียกใช้โค้ดต่อไปนี้
gcloud init
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน สำหรับการสมัครใช้บริการ Chat คุณต้องเปิดใช้ Chat API ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ และกำหนดค่าช่องชื่อแอป URL ของรูปโปรไฟล์ และคำอธิบายด้วย โปรดดูรายละเอียดที่หัวข้อสร้างแอป Google Chat
-
ต้องมีการตรวจสอบสิทธิ์และขอบเขตการให้สิทธิ์ที่เหมาะสมสำหรับเหตุการณ์แต่ละประเภทในการสมัครใช้บริการ ดังนี้
- โดยปกติแล้วจะต้องมีการตรวจสอบสิทธิ์ผู้ใช้ด้วยหน้าจอขอความยินยอม OAuth ที่กำหนดค่าไว้สำหรับแอป เมื่อกำหนดค่าหน้าจอขอความยินยอม คุณต้องระบุขอบเขตเพื่อรองรับเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ หากต้องการกำหนดค่าหน้าจอขอความยินยอมและระบุขอบเขตที่จำเป็น โปรดดูหัวข้อเลือกขอบเขต
- หากต้องการสมัครรับข้อมูลเหตุการณ์ใน Chat ในฐานะแอปใน Chat คุณต้องตรวจสอบสิทธิ์แอปด้วยการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียว
ตั้งค่าสภาพแวดล้อม
ส่วนต่อไปนี้จะอธิบายวิธีตั้งค่าสภาพแวดล้อมก่อนสร้างการสมัครใช้บริการ Google Workspace
เปิดใช้ Google Workspace Events API และ Google Cloud Pub/Sub API
ก่อนใช้ Google APIs คุณต้องเปิดใช้ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google โปรเจ็กต์เดียวได้คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้เปิดโปรเจ็กต์ Google Cloud สำหรับแอปของคุณ แล้วเปิดใช้ Google Workspace Events API และ Pub/Sub API โดยทำดังนี้
gcloud
ลงชื่อเข้าใช้บัญชี Google ในไดเรกทอรีที่ใช้งานอยู่ โดยทำดังนี้
gcloud auth loginตั้งค่าโปรเจ็กต์เป็นโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับแอปของคุณโดยทำดังนี้
gcloud config set project PROJECT_IDแทนที่
PROJECT_IDด้วยรหัสโปรเจ็กต์สำหรับโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของแอปเปิดใช้ Google Workspace Events API และ Google Cloud Pub/Sub API โดยทำดังนี้
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth
เลือกประเภทแอปพลิเคชันเพื่อดูวิธีการสร้างรหัสไคลเอ็นต์ OAuth ที่เฉพาะเจาะจง
เว็บแอปพลิเคชัน
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > เว็บแอปพลิเคชัน
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- เพิ่ม URI ที่ได้รับอนุญาตซึ่งเกี่ยวข้องกับแอปของคุณ ดังนี้
- แอปฝั่งไคลเอ็นต์ (JavaScript) - ในส่วนต้นทาง JavaScript ที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ที่จะใช้สำหรับคำขอของเบราว์เซอร์ ซึ่งจะระบุโดเมนที่แอปพลิเคชันของคุณสามารถส่งคำขอ API ไปยังเซิร์ฟเวอร์ OAuth 2.0 ได้
- แอปฝั่งเซิร์ฟเวอร์ (Java, Python และอื่นๆ) - ในส่วน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ปลายทางที่เซิร์ฟเวอร์ OAuth 2.0 สามารถส่งการตอบกลับได้
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างไคลเอ็นต์แล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วนรหัสไคลเอ็นต์ OAuth 2.0
โปรดทราบว่าระบบจะไม่ใช้รหัสลับไคลเอ็นต์กับเว็บแอปพลิเคชัน
Android
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > Android
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่องชื่อแพ็กเกจ ให้ป้อนชื่อแพ็กเกจจากไฟล์
AndroidManifest.xml - ในช่องลายนิ้วมือของใบรับรอง SHA-1 ให้ป้อนลายนิ้วมือของใบรับรอง SHA-1 ที่สร้างขึ้น
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างลูกค้าแล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
iOS
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > iOS
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่องรหัสชุด ให้ป้อนรหัสชุดซอฟต์แวร์ตามที่แสดงในไฟล์
Info.plistของแอป - ไม่บังคับ: หากแอปปรากฏใน Apple App Store ให้ป้อนรหัส App Store
- ไม่บังคับ: ในช่องรหัสทีม ให้ป้อนสตริง 10 อักขระที่ไม่ซ้ำกันซึ่ง Apple สร้างขึ้นและกำหนดให้กับทีมของคุณ
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างลูกค้าแล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอป Chrome
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > ส่วนขยาย Chrome
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่องรหัสสินค้า ให้ป้อนสตริงรหัส 32 อักขระที่ไม่ซ้ำกันของแอป คุณสามารถดูค่ารหัสนี้ได้ใน URL ของ Chrome เว็บสโตร์ของแอปและในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างไคลเอ็นต์แล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอปบนเดสก์ท็อป
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์ม Google Auth > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > แอปบนเดสก์ท็อป
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างลูกค้าแล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ทีวีและอุปกรณ์อินพุตแบบจำกัด
- ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > ทีวีและอุปกรณ์อินพุตแบบจำกัด
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างลูกค้าแล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
Universal Windows Platform (UWP)
- ในคอนโซล Google API ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > Universal Windows Platform (UWP)
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google API เท่านั้น
- ในช่อง "รหัส Store" ให้ป้อนค่ารหัส Microsoft Store ที่ไม่ซ้ำกัน 12 อักขระของแอป คุณดูรหัสนี้ได้ใน URL ของแอปใน Microsoft Store และในศูนย์พาร์ทเนอร์
- ไม่บังคับ: หากแอปของคุณเป็น AI Agent ที่ดำเนินการในนามของผู้ใช้ ให้เลือกใช้ไคลเอ็นต์นี้สำหรับ Agent ที่ทำงานด้วยระบบ AI หากแอปของคุณรองรับทั้งเวิร์กโฟลว์ AI Agent และฟีเจอร์ผู้ใช้มาตรฐาน ให้สร้างไคลเอ็นต์ OAuth แยกกันสำหรับแต่ละรายการ คุณจะเปลี่ยนการตั้งค่านี้ไม่ได้หลังจากสร้างลูกค้าแล้ว
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ดาวน์โหลดไฟล์ JSON ของรหัสลับไคลเอ็นต์
ไฟล์รหัสลับไคลเอ็นต์คือการแสดง JSON ของข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth ที่แอปของคุณสามารถอ้างอิงได้เมื่อระบุข้อมูลเข้าสู่ระบบ
ในคอนโซล Google API ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 ให้คลิกรหัสไคลเอ็นต์ที่คุณสร้างขึ้น
คลิกดาวน์โหลด JSON
บันทึกไฟล์เป็น
credentials.json
สร้างและสมัครใช้บริการหัวข้อ Pub/Sub
ในส่วนนี้ คุณจะสร้างหัวข้อ Pub/Sub และการสมัครใช้บริการหัวข้อ หัวข้อ Pub/Sub จะทำหน้าที่เป็นปลายทางการแจ้งเตือนที่การสมัครใช้บริการ Google Workspace จะได้รับเหตุการณ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและจัดการหัวข้อ Pub/Sub ได้ที่เอกสารประกอบของ Pub/Sub
วิธีสร้างและสมัครรับข้อมูลหัวข้อ Pub/Sub
คอนโซล Google API
ในคอนโซล Google API ให้ไปที่หน้า Pub/Sub โดยทำดังนี้
ตรวจสอบว่าได้เลือกโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับแอปแล้ว
คลิก สร้างหัวข้อ แล้วทำดังนี้
- ป้อนชื่อหัวข้อ เช่น
workspace-events-topic - เลือกเพิ่มการสมัครใช้บริการเริ่มต้นไว้ Pub/Sub จะตั้งชื่อการสมัครใช้บริการเริ่มต้นนี้ให้คล้ายกับชื่อหัวข้อของคุณ เช่น
workspace-events-topic-sub - ไม่บังคับ: อัปเดตหรือกำหนดค่าพร็อพเพอร์ตี้เพิ่มเติมสำหรับหัวข้อ
- ป้อนชื่อหัวข้อ เช่น
คลิกสร้าง ชื่อหัวข้อแบบเต็มจะอยู่ในรูปแบบ
projects/PROJECT_ID/topics/TOPIC_IDใช้ชื่อและนามสกุลนี้ในขั้นตอนถัดไปให้สิทธิ์เข้าถึงเพื่อเผยแพร่ข้อความ Pub/Sub ไปยังหัวข้อของคุณ โดยทำดังนี้
- ในหน้าหัวข้อ ให้ไปที่แผงด้านข้างแล้วเปิดแท็บสิทธิ์
- คลิกเพิ่มผู้ใช้หลัก
- ในช่องเพิ่มผู้ใช้หลัก ให้เพิ่มบัญชีบริการสำหรับแอปพลิเคชัน Google Workspace ที่ส่งเหตุการณ์ไปยังการสมัครใช้บริการของคุณ ดังนี้
- สำหรับเหตุการณ์ใน Chat
chat-api-push@system.gserviceaccount.com - สำหรับเหตุการณ์ในไดรฟ์
drive-api-event-push@system.gserviceaccount.com - สำหรับกิจกรรม Meet โปรดดู
meet-api-event-push@system.gserviceaccount.com
- สำหรับเหตุการณ์ใน Chat
- ในเมนูมอบหมายบทบาท ให้เลือก
Pub/Sub Publisher - คลิกบันทึก การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลาสักครู่
gcloud
ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ ให้สร้างหัวข้อโดยเรียกใช้คำสั่งต่อไปนี้
gcloud pubsub topics create TOPIC_IDแทนที่
TOPIC_IDด้วยรหัสที่ไม่ซ้ำกันสำหรับหัวข้อของคุณ เช่นworkspace-events-topicเอาต์พุตจะแสดงชื่อหัวข้อแบบเต็มในรูปแบบ
projects/PROJECT_ID/topics/TOPIC_IDจดชื่อไว้ และตรวจสอบว่าค่าของ PROJECT_ID เป็นรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับแอปของคุณ ใช้ชื่อหัวข้อในขั้นตอนต่อไปนี้ และเพื่อสร้างการสมัครใช้บริการ Google Workspace ในภายหลังให้สิทธิ์เข้าถึงเพื่อเผยแพร่ข้อความไปยังหัวข้อของคุณ โดยทำดังนี้
gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'แทนที่ค่าต่อไปนี้
TOPIC_NAME: ชื่อหัวข้อแบบเต็ม ซึ่งเป็นเอาต์พุตจากขั้นตอนก่อนหน้า จัดรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_IDGOOGLE_WORKSPACE_APPLICATION: แอปพลิเคชัน Google Workspace ที่ต้องส่งเหตุการณ์ไปยังการสมัครใช้บริการของคุณ- หากต้องการรับเหตุการณ์จาก Chat ให้ใช้บัญชีบริการอย่างใดอย่างหนึ่งต่อไปนี้
- สำหรับแอปใน Chat (สร้างเป็นส่วนเสริมของ Google Workspace ที่ขยายการทำงานของ Chat) ให้ใช้อีเมลบัญชีบริการในหน้าการกำหนดค่า Chat API ดูข้อมูลเพิ่มเติมได้ที่สร้างแอป Google Chat ที่ใช้ Pub/Sub
- สำหรับแอปใน Chat ที่ไม่ใช่ส่วนเสริม ให้ใช้
chat-api-push@system.gserviceaccount.comดูข้อมูลเพิ่มเติมได้ที่หัวข้อสร้างแอป Google Chat ที่ใช้ Pub/Sub
- หากต้องการรับเหตุการณ์จากไดรฟ์ ให้ใช้
drive-api-event-push@system.gserviceaccount.com - หากต้องการรับเหตุการณ์จาก Meet ให้ใช้
meet-api-event-push@system.gserviceaccount.com
- หากต้องการรับเหตุการณ์จาก Chat ให้ใช้บัญชีบริการอย่างใดอย่างหนึ่งต่อไปนี้
การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลา 2-3 นาที
สร้างการสมัครใช้บริการ Pub/Sub สำหรับหัวข้อโดยทำดังนี้
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAMEแทนที่ค่าต่อไปนี้
SUBSCRIPTION_NAME: ชื่อสำหรับการสมัครใช้บริการ เช่นworkspace-events-subscriptionTOPIC_NAME: ชื่อหัวข้อที่คุณสร้างในขั้นตอนก่อนหน้า
สมัครรับข้อมูลทรัพยากร Google Workspace
ในส่วนนี้ คุณจะสมัครใช้บริการทรัพยากร Google Workspace ที่ต้องการตรวจสอบเหตุการณ์
เลือกและระบุทรัพยากรเป้าหมาย
ในการสมัครใช้บริการ Google Workspace ทรัพยากรเป้าหมายคือทรัพยากร Google Workspace ที่คุณตรวจสอบเหตุการณ์ ทรัพยากรเป้าหมายจะแสดงในช่อง targetResource ของการสมัครใช้บริการ โดยจัดรูปแบบโดยใช้ชื่อทรัพยากรแบบเต็ม ตัวอย่างเช่น สำหรับการสมัครใช้บริการที่ตรวจสอบพื้นที่ทำงานใน Chat (spaces/AAAABBBBBBB) ค่าของ targetResource จะเป็น //chat.googleapis.com/spaces/AAAABBBBBBB
ระบุทรัพยากรเป้าหมายสำหรับ Chat
| ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด |
|---|---|---|
| Space |
โดย SPACE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
ผู้ใช้ Chat หรือแอปใน Chat ที่ให้สิทธิ์การสมัครใช้บริการต้องเป็นสมาชิกของพื้นที่ทำงานผ่านบัญชี Google Workspace หรือบัญชี Google รองรับ: |
| พื้นที่ทำงานทั้งหมดสำหรับผู้ใช้ |
|
การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับพื้นที่ทำงานที่ผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google เท่านั้น รองรับเฉพาะการตรวจสอบสิทธิ์ผู้ใช้เท่านั้น |
| ผู้ใช้ |
โดย USER คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
การสมัครใช้บริการจะได้รับเฉพาะเหตุการณ์เกี่ยวกับผู้ใช้ที่ให้สิทธิ์การสมัครใช้บริการเท่านั้น ผู้ใช้ไม่สามารถให้สิทธิ์การสมัครใช้บริการในนามของผู้ใช้รายอื่นได้ รองรับเฉพาะการตรวจสอบสิทธิ์ผู้ใช้เท่านั้น |
| ลูกค้า ( เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์) |
โดยที่ CUSTOMER คือรหัสลูกค้า คุณยังใช้ชื่อแทน |
การสมัครใช้บริการจะได้รับเหตุการณ์สำหรับพื้นที่ทำงานและผู้ใช้ทั้งหมดที่จัดการโดยโดเมนของลูกค้า รองรับเฉพาะการตรวจสอบสิทธิ์แอปที่มีการอนุมัติจากผู้ดูแลระบบ |
ระบุทรัพยากรเป้าหมายสำหรับไดรฟ์
| ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด (หากมี) |
|---|---|---|
| ไฟล์ |
//drive.googleapis.com/files/FILE
โดย FILE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
ผู้ใช้ที่ให้สิทธิ์การสมัครใช้บริการต้องมีสิทธิ์ในไฟล์ภายในการสมัครใช้บริการที่เกี่ยวข้องกับการสมัครรับข้อมูลเหตุการณ์ |
| ไดรฟ์ที่แชร์ |
//drive.googleapis.com/drives/DRIVE
โดย DRIVE คือรหัสใน ชื่อทรัพยากรของทรัพยากร |
การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับรายการในไดรฟ์ที่แชร์ซึ่งผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google เท่านั้น |
ระบุทรัพยากรเป้าหมายสำหรับ Meet
| ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด (หากมี) |
|---|---|---|
| พื้นที่การประชุม | //meet.googleapis.com/spaces/SPACE
โดย SPACE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
|
| ผู้ใช้ | //cloudidentity.googleapis.com/users/USER
โดย USER คือรหัสในช่อง
|
การสมัครใช้บริการจะได้รับเหตุการณ์เกี่ยวกับพื้นที่การประชุมทั้งหมดที่ผู้ใช้เป็นเจ้าของพื้นที่การประชุม โดยปกติแล้ว เจ้าของพื้นที่การประชุมจะเป็นผู้จัดกิจกรรมใน Google ปฏิทินที่เชื่อมโยงกับพื้นที่การประชุมด้วย |
สร้างการสมัครใช้บริการ Google Workspace
หากต้องการสร้างการสมัครใช้บริการ ให้ใช้เมธอด subscriptions.create ของ Google Workspace Events API เพื่อสร้างทรัพยากร Subscription
ระบุช่องต่อไปนี้
targetResource: Google Workspace ที่คุณระบุไว้ในส่วนก่อนหน้า ซึ่งจัดรูปแบบโดยใช้ชื่อทรัพยากรแบบเต็มeventTypes: อาร์เรย์ของประเภทเหตุการณ์อย่างน้อย 1 ประเภทที่คุณต้องการรับเกี่ยวกับทรัพยากร ตัวอย่างเช่น หากแอปของคุณต้องการทราบเฉพาะข้อความใหม่ที่โพสต์ไปยังพื้นที่ทำงานใน Chat แอปก็สามารถสมัครรับข้อมูลเหตุการณ์เกี่ยวกับข้อความที่สร้างขึ้นเท่านั้นnotificationEndpoint: ปลายทางการแจ้งเตือนที่การสมัครใช้บริการ Google Workspace ส่งกิจกรรม ใช้หัวข้อ Pub/Sub ที่สร้างไว้ในส่วนก่อนหน้าpayloadOptions: ตัวเลือกในการระบุจำนวนข้อมูลทรัพยากรที่จะรวมไว้ในเพย์โหลดของเหตุการณ์ การกำหนดค่านี้จะส่งผลต่อเวลาหมดอายุของการสมัครใช้บริการ ดูข้อมูลเพิ่มเติมได้ที่ข้อมูลเหตุการณ์
วิธีสร้างการสมัครใช้บริการ Google Workspace
Apps Script
ในโปรเจ็กต์ Apps Script ให้สร้างไฟล์สคริปต์ใหม่ชื่อ
createSubscriptionแล้วเพิ่มโค้ดต่อไปนี้function createSubscription() { // The Google Workspace resource to monitor for events. const targetResource = 'TARGET_RESOURCE'; // The types of events to receive. const eventTypes = [EVENT_TYPES]; // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. const pubsubTopic = 'TOPIC_NAME'; // Whether to include resource data or not. const resourceData = RESOURCE_DATA; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.create({ targetResource: targetResource, eventTypes: eventTypes, notificationEndpoint: { pubsubTopic: pubsubTopic, }, payloadOptions: { includeResource: resourceData } }); console.log(response); }แทนที่ค่าต่อไปนี้
TARGET_RESOURCE: ทรัพยากร Google Workspace ที่คุณสมัครใช้บริการ ซึ่งจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการสมัครรับข้อมูลพื้นที่ใน Chat ที่มีรหัสพื้นที่AAAABBBBให้ใช้//chat.googleapis.com/spaces/AAAABBBBEVENT_TYPES: ประเภทเหตุการณ์อย่างน้อย 1 ประเภทที่คุณต้องการสมัครรับข้อมูลในทรัพยากรเป้าหมาย จัดรูปแบบเป็นอาร์เรย์ของสตริง เช่น'google.workspace.chat.message.v1.created'TOPIC_NAME: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_IDRESOURCE_DATA: บูลีนที่ระบุว่าการสมัครใช้บริการมีข้อมูลทรัพยากรในเพย์โหลดหรือไม่True: รวมข้อมูลทรัพยากรทั้งหมด หากต้องการจำกัดช่องที่จะรวม ให้เพิ่มช่องfieldMaskและระบุช่องอย่างน้อย 1 ช่องสำหรับทรัพยากรที่เปลี่ยนแปลง เฉพาะการสมัครใช้บริการแหล่งข้อมูล Chat เท่านั้นที่รองรับการรวมข้อมูลแหล่งข้อมูลFalse: ไม่รวมข้อมูลทรัพยากร
หากต้องการสร้างการสมัครใช้บริการ Google Workspace ให้เรียกใช้ฟังก์ชัน
createSubscriptionในโปรเจ็กต์ Apps Script
Python
ในไดเรกทอรีที่ทำงานอยู่ ให้สร้างไฟล์ชื่อ
create_subscription.pyและเพิ่มโค้ดต่อไปนี้"""Create subscription.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Specify required scopes. SCOPES = [SCOPES] # Authenticate with Google Workspace and get user authentication. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # The Google Workspace resource to monitor for events. TARGET_RESOURCE = 'TARGET_RESOURCE' # The types of events to receive. EVENT_TYPES = [EVENT_TYPES] # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic. TOPIC = 'TOPIC_NAME' # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) BODY = { 'target_resource': TARGET_RESOURCE, 'event_types': EVENT_TYPES, 'notification_endpoint': {'pubsub_topic': TOPIC}, 'payload_options': {'include_resource': RESOURCE_DATA}, } response = service.subscriptions().create(body=BODY).execute() print(response)แทนที่ค่าต่อไปนี้
SCOPES: ขอบเขต OAuth อย่างน้อย 1 รายการที่รองรับประเภทเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ จัดรูปแบบเป็นอาร์เรย์ของสตริง หากต้องการแสดงขอบเขตหลายรายการ ให้คั่นด้วยคอมมา เช่น'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'TARGET_RESOURCE: ทรัพยากร Google Workspace ที่คุณสมัครใช้บริการ ซึ่งจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการสมัครรับข้อมูลพื้นที่ใน Chat ที่มีรหัสพื้นที่AAAABBBBให้ใช้//chat.googleapis.com/spaces/AAAABBBBEVENT_TYPES: ประเภทเหตุการณ์อย่างน้อย 1 ประเภทที่คุณต้องการสมัครรับข้อมูลในทรัพยากรเป้าหมาย จัดรูปแบบเป็นอาร์เรย์ของสตริง เช่น'google.workspace.chat.message.v1.created'TOPIC_NAME: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_IDRESOURCE_DATA: บูลีนที่ระบุว่าการสมัครใช้บริการมีข้อมูลทรัพยากรในเพย์โหลดหรือไม่True: รวมข้อมูลทรัพยากรทั้งหมด หากต้องการจำกัดช่องที่จะรวม ให้เพิ่มช่องfieldMaskและระบุช่องอย่างน้อย 1 ช่องสำหรับทรัพยากรที่เปลี่ยนแปลง เฉพาะการสมัครใช้บริการแหล่งข้อมูล Chat เท่านั้นที่รองรับการรวมข้อมูลแหล่งข้อมูลFalse: ไม่รวมข้อมูลทรัพยากร
หากต้องการสร้างการสมัครใช้บริการ Google Workspace ให้เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล
python3 create_subscription.py
Google Workspace Events API จะแสดงผลการดำเนินการที่ใช้เวลานานที่เสร็จสมบูรณ์ซึ่งมีอินสแตนซ์ของทรัพยากร Subscription ที่คุณสร้างขึ้น
ทดสอบการสมัครใช้บริการ Google Workspace
หากต้องการทดสอบว่าคุณได้รับเหตุการณ์ Google Workspace หรือไม่ คุณสามารถเรียกเหตุการณ์และดึงข้อความไปยังการสมัครใช้บริการ Pub/Sub ได้
วิธีทดสอบการสมัครใช้บริการ Google Workspace
คอนโซล Google API
ทริกเกอร์เหตุการณ์อย่างน้อย 1 ประเภทในทรัพยากรเป้าหมายของการสมัครใช้บริการ Google Workspace ตัวอย่างเช่น หากคุณสมัครรับข้อความใหม่ในพื้นที่ใน Chat ให้โพสต์ข้อความไปยังพื้นที่นั้น
ในคอนโซล Google API ให้ไปที่หน้า Pub/Sub โดยทำดังนี้
ตรวจสอบว่าได้เลือกโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับแอปแล้ว
ในเมนู Pub/Sub ให้คลิกการสมัครใช้บริการ
ในตาราง ให้ค้นหาการสมัครใช้บริการ Pub/Sub สำหรับหัวข้อของคุณ แล้วคลิกชื่อการสมัครใช้บริการ
คลิกแท็บข้อความ
คลิกดึง เหตุการณ์อาจใช้เวลา 2-3 นาทีในการสร้างข้อความ Pub/Sub
gcloud
ทริกเกอร์เหตุการณ์อย่างน้อย 1 ประเภทในทรัพยากรเป้าหมายของการสมัครใช้บริการ Google Workspace เช่น หากคุณสมัครรับข้อความใหม่ในพื้นที่ใน Chat ให้โพสต์ข้อความในพื้นที่นั้น
เรียกใช้คำสั่งต่อไปนี้
gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ackแทนที่ค่าต่อไปนี้
PUBSUB_SUBSCRIPTION_NAME: ชื่อเต็มของการสมัครใช้บริการ Pub/Sub ในรูปแบบprojects/PROJECT_ID/subscriptions/SUBSCRIPTION_IDMESSAGE_COUNT: จำนวนข้อความ Pub/Sub สูงสุดที่ต้องการดึงข้อมูล
เหตุการณ์อาจใช้เวลา 2-3 นาทีในการสร้างข้อความ Pub/Sub
สำหรับเหตุการณ์ Google Workspace แต่ละรายการที่คุณทริกเกอร์ ระบบจะส่งข้อความไปยังการสมัครใช้บริการ Pub/Sub ที่มีเหตุการณ์ดังกล่าว โปรดดูรายละเอียดที่หัวข้อการรับเหตุการณ์เป็นข้อความ Google Cloud Pub/Sub
กำหนดค่าวิธีที่แอปของคุณรับเหตุการณ์
การสมัครใช้บริการ Pub/Sub ที่คุณสร้างขึ้นเป็นแบบพุล หลังจากทดสอบการสมัครใช้บริการ Pub/Sub แล้ว คุณสามารถอัปเดตประเภทการนำส่งเพื่อเปลี่ยนวิธีที่แอปของคุณรับเหตุการณ์ได้ เช่น คุณสามารถกำหนดค่าการสมัครใช้บริการ Pub/Sub เป็นประเภทการนำส่งแบบพุช เพื่อให้แอปของคุณรับเหตุการณ์ไปยังปลายทางของแอปได้โดยตรง
ดูข้อมูลเกี่ยวกับการกำหนดค่าการสมัครใช้บริการ Pub/Sub ได้ที่เอกสารประกอบของ Pub/Sub
ติดตามเหตุการณ์ในพื้นที่ทำงานของ Chat ในฐานะแอป Google Chat
คุณสามารถสมัครรับข้อมูลเหตุการณ์ใน Chat ในฐานะแอปใน Chat จากพื้นที่ทำงานที่แอปใน Chat เป็นสมาชิกได้ แอปใน Chat ไม่สามารถสมัครรับข้อมูลเหตุการณ์ของผู้ใช้ได้
เขียนสคริปต์ที่เรียกใช้ Google Workspace Events API
วิธีสร้างการสมัครรับข้อมูลเหตุการณ์ในพื้นที่ทำงานของ Chat ด้วยการตรวจสอบสิทธิ์แอปและการอนุมัติจากผู้ดูแลระบบมีดังนี้
- หากจำเป็น ให้สร้างแอปใน Chat
สมัครรับข้อมูลทรัพยากรของ Chat แต่มีข้อจำกัดดังนี้
- ให้ตรวจสอบสิทธิ์ในฐานะแอป Chat ด้วยการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียวแทนการตรวจสอบสิทธิ์ของผู้ใช้
ระบุขอบเขตการให้สิทธิ์ที่อนุญาตให้แอปใน Chat สมัครรับข้อมูลเหตุการณ์ใน Chat ขอบเขตการให้สิทธิ์เหล่านี้จะขึ้นต้นด้วย
chat.appเสมอ และรวมถึงรายการต่อไปนี้https://www.googleapis.com/auth/chat.app.memberships: สมัครรับข้อมูลเหตุการณ์ของสมาชิกในพื้นที่ใน Chathttps://www.googleapis.com/auth/chat.app.memberships.readonly: สมัครรับข้อมูลเหตุการณ์ของสมาชิกในพื้นที่ใน Chathttps://www.googleapis.com/auth/chat.app.messages.readonly: สมัครรับข้อมูลกิจกรรมข้อความและรีแอ็กชันในพื้นที่ทำงานของ Chathttps://www.googleapis.com/auth/chat.app.spaces: สมัครรับข้อมูลกิจกรรมในพื้นที่ทำงานของ Chathttps://www.googleapis.com/auth/chat.app.spaces.readonly: สมัครรับข้อมูลเหตุการณ์ในพื้นที่ทำงานของ Chat
ตัวอย่างโค้ดต่อไปนี้จะสมัครรับข้อมูลเหตุการณ์ข้อความในพื้นที่ใน Chat ที่ระบุ
Python
"""Create subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = ['https://www.googleapis.com/auth/chat.app.messages.readonly']
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# The Google Workspace resource to monitor for events.
TARGET_RESOURCE = '//chat.googleapis.com/spaces/SPACE_ID'
# The types of events to receive.
EVENT_TYPES = [
'google.workspace.chat.message.v1.created',
'google.workspace.chat.message.v1.updated',
'google.workspace.chat.message.v1.deleted',
]
# The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
TOPIC = 'TOPIC_NAME'
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1',
credentials=CREDENTIALS,
)
BODY = {
'target_resource': TARGET_RESOURCE,
'event_types': EVENT_TYPES,
'notification_endpoint': {'pubsub_topic': TOPIC},
'payload_options': {'include_resource': RESOURCE_DATA},
}
response = service.subscriptions().create(body=BODY).execute()
print(response)
แทนที่ค่าต่อไปนี้
SPACE_ID: ชื่อพื้นที่ทำงาน ซึ่งคุณสามารถดูได้จากเมธอดspaces.listใน Chat API หรือจาก URL ของพื้นที่ทำงานTOPIC_NAME: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_IDRESOURCE_DATA: บูลีนที่ระบุว่าการสมัครใช้บริการมีข้อมูลทรัพยากรในเพย์โหลดหรือไม่True: รวมข้อมูลทรัพยากรทั้งหมด หากต้องการจำกัดช่องที่จะรวม ให้เพิ่มช่องfieldMaskและระบุช่องอย่างน้อย 1 ช่องสำหรับทรัพยากรที่มีการเปลี่ยนแปลง เฉพาะการสมัครใช้บริการแหล่งข้อมูล Chat เท่านั้นที่รองรับการรวมข้อมูลแหล่งข้อมูลFalse: ไม่รวมข้อมูลทรัพยากร
สมัครรับกิจกรรมทั้งหมดของ Chat ในองค์กร Google Workspace ในฐานะแอป Google Chat
การสมัครใช้บริการของลูกค้าช่วยให้แอปใน Chat ตรวจสอบเหตุการณ์ในพื้นที่ทำงานและเหตุการณ์ของผู้ใช้ทั่วทั้งองค์กร Google Workspace ได้
โปรดดูรายละเอียดเกี่ยวกับวิธีส่งเหตุการณ์สำหรับการสมัครใช้บริการของลูกค้า รวมถึงการส่งเหตุการณ์ในพื้นที่ทำงานที่จัดการโดยองค์กรภายนอกที่หัวข้อข้อจำกัดและลักษณะการส่งการสมัครใช้บริการของลูกค้า
ข้อกำหนดและข้อจำกัด
- การตรวจสอบสิทธิ์: ตรวจสอบสิทธิ์ในฐานะแอปใน Chat ด้วยการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียว
- SKU: องค์กร Google Workspace ต้องมีใบอนุญาต SKU ของ Enterprise อย่างน้อย 1 ใบ โปรดทราบว่าข้อกำหนดนี้ไม่ได้บังคับใช้อย่างเคร่งครัดในระหว่างขั้นตอนของโปรแกรมเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ แต่จะบังคับใช้ในอนาคต (จะประกาศแยกต่างหาก)
- ความไม่ซ้ำกัน: แอป Chat สามารถสร้างการสมัครใช้บริการของลูกค้าได้เพียง 1 รายการสำหรับองค์กร Google Workspace หนึ่งๆ องค์กร Google Workspace มีการสมัครใช้บริการของลูกค้าได้สูงสุด 5 รายการ (สร้างโดยแอปใน Chat ที่แตกต่างกัน)
- ขอบเขต: ต้องใช้ขอบเขตต่อไปนี้อย่างน้อย 1 รายการ ทั้งนี้ขึ้นอยู่กับประเภทเหตุการณ์ที่ต้องการรับ
https://www.googleapis.com/auth/chat.app.all.spaces.readonly: เพื่อรับเหตุการณ์เกี่ยวกับพื้นที่ทำงานhttps://www.googleapis.com/auth/chat.app.all.memberships.readonly: เพื่อรับเหตุการณ์เกี่ยวกับการเป็นสมาชิกhttps://www.googleapis.com/auth/chat.app.all.messages.readonly: เพื่อรับเหตุการณ์เกี่ยวกับข้อความและรีแอ็กชันhttps://www.googleapis.com/auth/chat.app.all.users.readstate.readonly( เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์): เพื่อรับเหตุการณ์เกี่ยวกับสถานะการอ่านของผู้ใช้
สร้างการสมัครใช้บริการของลูกค้า
หากต้องการสร้างการสมัครใช้บริการของลูกค้า ให้เรียกใช้เมธอด subscriptions.create
ตัวอย่างโค้ด Python ต่อไปนี้จะสร้างการสมัครใช้บริการของลูกค้า
Python
"""Create a customer subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
# Replace with the scopes needed for the event types you want to receive.
SCOPES = ['https://www.googleapis.com/auth/chat.app.all.messages.readonly']
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Monitor all events for the Google Workspace organization.
TARGET_RESOURCE = '//admin.googleapis.com/customers/CUSTOMER_ID'
# The types of events to receive.
EVENT_TYPES = [
'google.workspace.chat.message.v1.created',
'google.workspace.chat.message.v1.updated',
'google.workspace.chat.message.v1.deleted',
]
# The endpoint to deliver events to.
TOPIC = 'TOPIC_NAME'
# Call the Workspace Events API.
# Note: Use the v1beta endpoint for Developer Preview features.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
)
BODY = {
'target_resource': TARGET_RESOURCE,
'event_types': EVENT_TYPES,
'notification_endpoint': {'pubsub_topic': TOPIC},
'payload_options': {'include_resource': RESOURCE_DATA},
}
response = service.subscriptions().create(body=BODY).execute()
print(response)
แทนที่ค่าต่อไปนี้
CUSTOMER_ID: รหัสลูกค้า นอกจากนี้ คุณยังใช้นามแฝงmy_customerสำหรับองค์กร Google Workspace ของแอปใน Chat ได้ด้วยTOPIC_NAME: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_IDRESOURCE_DATA: บูลีนที่ระบุว่าการสมัครใช้บริการมีข้อมูลทรัพยากรในเพย์โหลดหรือไม่True: รวมข้อมูลทรัพยากรทั้งหมด หากต้องการจำกัดช่องที่รวมไว้ ให้เพิ่มช่องfieldMaskและระบุช่องอย่างน้อย 1 ช่องสำหรับทรัพยากรที่เปลี่ยนแปลง เฉพาะการสมัครใช้บริการทรัพยากร Chat เท่านั้นที่รองรับการรวมข้อมูลทรัพยากรFalse: ไม่รวมข้อมูลทรัพยากร