หน้านี้อธิบายวิธีใช้ 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
- หากต้องการ
เริ่มต้น CLI ของ
gcloud
ให้เรียกใช้โค้ดต่อไปนี้
gcloud init
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน สำหรับการสมัครใช้บริการ Chat คุณต้องเปิดใช้ Chat API ในโปรเจ็กต์ Cloud และกำหนดค่าช่องชื่อแอป, URL รูปโปรไฟล์ และคำอธิบายด้วย โปรดดูรายละเอียดที่หัวข้อ สร้างแอป Google Chat
- ต้องมีการตรวจสอบสิทธิ์ผู้ใช้โดยกำหนดค่าหน้าจอคำยินยอม OAuth สำหรับแอป เมื่อกำหนดค่าหน้าจอคำยินยอม คุณต้องระบุขอบเขตเพื่อรองรับประเภทเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ หากต้องการกำหนดค่าหน้าจอขอความยินยอม และระบุขอบเขตที่จำเป็น โปรดดูเลือกขอบเขต
- โปรเจ็กต์ Apps Script
- ใช้โปรเจ็กต์ Google Cloud แทนโปรเจ็กต์เริ่มต้นที่ Apps Script สร้างขึ้นโดยอัตโนมัติ
- สำหรับขอบเขตใดก็ตามที่คุณเพิ่มเพื่อกำหนดค่าหน้าจอขอความยินยอม OAuth คุณต้องเพิ่มขอบเขตลงในไฟล์
appsscript.json
ในโปรเจ็กต์ Apps Script ด้วย เช่น - เปิดใช้
Google Workspace Events
บริการขั้นสูง
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 ขึ้นไป
- เครื่องมือจัดการแพ็กเกจ pip
- ไลบรารีของไคลเอ็นต์ Google สำหรับ Python เวอร์ชันล่าสุด หากต้องการติดตั้งหรืออัปเดต ให้เรียกใช้คำสั่งต่อไปนี้
ในอินเทอร์เฟซบรรทัดคำสั่ง
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- หากต้องการใช้คำสั่ง Google Cloud CLI ในคู่มือนี้ ให้ทำดังนี้
- ติดตั้ง Google Cloud CLI
- หากต้องการ
เริ่มต้น CLI ของ
gcloud
ให้เรียกใช้โค้ดต่อไปนี้
gcloud init
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน สำหรับการสมัครใช้บริการ Chat คุณต้องเปิดใช้ Chat API ในโปรเจ็กต์ Cloud และกำหนดค่าช่องชื่อแอป, URL รูปโปรไฟล์ และคำอธิบายด้วย โปรดดูรายละเอียดที่หัวข้อ สร้างแอป Google Chat
- ต้องมีการตรวจสอบสิทธิ์ผู้ใช้โดยกำหนดค่าหน้าจอคำยินยอม OAuth สำหรับแอป เมื่อกำหนดค่าหน้าจอคำยินยอม คุณต้องระบุขอบเขตเพื่อรองรับประเภทเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ หากต้องการกำหนดค่าหน้าจอขอความยินยอม และระบุขอบเขตที่จำเป็น โปรดดูเลือกขอบเขต
ตั้งค่าสภาพแวดล้อม
ส่วนต่อไปนี้จะอธิบายวิธีตั้งค่าสภาพแวดล้อมก่อนสร้างการสมัครใช้บริการ Google Workspace
เปิดใช้ Google Workspace Events API และ Google Cloud Pub/Sub API
ก่อนใช้ Google API คุณต้องเปิดใช้ API ในโปรเจ็กต์ Google Cloud คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud เดียวได้คอนโซล Google Cloud
ใน Google Cloud Console ให้เปิดโปรเจ็กต์ Google Cloud สำหรับแอป แล้วเปิดใช้ Google Workspace Events API และ Pub/Sub API โดยทำดังนี้
gcloud
ลงชื่อเข้าใช้บัญชี Google ในไดเรกทอรีการทำงานโดยทำดังนี้
gcloud auth login
ตั้งค่าโปรเจ็กต์เป็นโปรเจ็กต์ Cloud สำหรับแอปของคุณ
gcloud config set project PROJECT_ID
แทนที่
PROJECT_ID
ด้วย รหัสโปรเจ็กต์สำหรับโปรเจ็กต์ Cloud ของแอปเปิดใช้ Google Workspace Events API และ Google Cloud Pub/Sub API โดยทำดังนี้
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth
เลือกประเภทแอปพลิเคชันเพื่อดูวิธีการสร้างรหัสไคลเอ็นต์ OAuth โดยเฉพาะ
เว็บแอปพลิเคชัน
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > เว็บแอปพลิเคชัน
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- เพิ่ม URI ที่ได้รับอนุญาตซึ่งเกี่ยวข้องกับแอปของคุณ
- แอปฝั่งไคลเอ็นต์ (JavaScript) - ในส่วนต้นทาง JavaScript ที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ที่จะใช้สำหรับคำขอของเบราว์เซอร์ ซึ่งจะระบุโดเมนที่แอปพลิเคชันของคุณสามารถส่งคำขอ API ไปยังเซิร์ฟเวอร์ OAuth 2.0 ได้
- แอปฝั่งเซิร์ฟเวอร์ (Java, Python และอื่นๆ) - ในส่วน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ของปลายทางที่เซิร์ฟเวอร์ OAuth 2.0 สามารถส่งการตอบกลับได้
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วนรหัสไคลเอ็นต์ OAuth 2.0
จดรหัสไคลเอ็นต์ ระบบจะไม่ใช้รหัสลับไคลเอ็นต์สำหรับเว็บแอปพลิเคชัน
Android
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > Android
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "ชื่อแพ็กเกจ" ให้ป้อนชื่อแพ็กเกจจากไฟล์
AndroidManifest.xml
- ในช่อง "ลายนิ้วมือใบรับรอง SHA-1" ให้ป้อนลายนิ้วมือใบรับรอง SHA-1 ที่สร้างขึ้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
iOS
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > iOS
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "รหัสชุด" ให้ป้อนรหัสชุดซอฟต์แวร์ตามที่แสดงในไฟล์
Info.plist
ของแอป - ไม่บังคับ: หากแอปปรากฏใน Apple App Store ให้ป้อนรหัส App Store
- ไม่บังคับ: ในช่อง "รหัสทีม" ให้ป้อนสตริงแบบ 10 อักขระที่ไม่ซ้ำกันซึ่งสร้างโดย Apple และกำหนดให้กับทีมของคุณ
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอป Chrome
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > ส่วนขยาย Chrome
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "รหัสสินค้า" ให้ป้อนสตริงรหัส 32 อักขระที่ไม่ซ้ำกันของแอป คุณดูค่ารหัสนี้ได้ใน URL ของ Chrome เว็บสโตร์ของแอปและในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอปบนเดสก์ท็อป
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > แอปเดสก์ท็อป
- ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ทีวีและอุปกรณ์อินพุตที่จำกัด
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > ทีวีและอุปกรณ์ที่มีอินพุตจำกัด
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
Universal Windows Platform (UWP)
- ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์
- คลิกสร้างไคลเอ็นต์
- คลิกประเภทแอปพลิเคชัน > Universal Windows Platform (UWP)
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "รหัสร้านค้า" ให้ป้อนค่ารหัส Microsoft Store ที่ไม่ซ้ำกันของแอปซึ่งมี 12 อักขระ คุณดูรหัสนี้ได้ใน URL ของ Microsoft Store ของแอปและในPartner Center
- คลิกสร้าง
ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ดาวน์โหลดไฟล์ JSON ของรหัสลับไคลเอ็นต์
ไฟล์รหัสลับไคลเอ็นต์คือการแสดง JSON ของข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth ที่แอปของคุณอ้างอิงได้เมื่อระบุข้อมูลเข้าสู่ระบบ
ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 ให้คลิกรหัสไคลเอ็นต์ที่สร้างขึ้น
คลิกดาวน์โหลด JSON
บันทึกไฟล์เป็น
credentials.json
สร้างและสมัครใช้บริการหัวข้อ Pub/Sub
ในส่วนนี้ คุณจะได้สร้างหัวข้อ Pub/Sub และการสมัครรับข้อมูลหัวข้อ หัวข้อ Pub/Sub จะทำหน้าที่เป็นปลายทางการแจ้งเตือนที่การสมัครใช้บริการ Google Workspace จะรับเหตุการณ์
ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและจัดการหัวข้อ Pub/Sub ได้ที่เอกสารประกอบของ Pub/Sub
วิธีสร้างและสมัครใช้บริการหัวข้อ Pub/Sub
คอนโซล Google Cloud
ในคอนโซล Google Cloud ให้ไปที่หน้า Pub/Sub โดยทำดังนี้
ตรวจสอบว่าได้เลือกโปรเจ็กต์ Cloud สำหรับแอปแล้ว
คลิก
สร้างหัวข้อ แล้วทำดังนี้- ป้อนชื่อหัวข้อ เช่น
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
สร้างหัวข้อในโปรเจ็กต์ Cloud โดยเรียกใช้คำสั่งต่อไปนี้
gcloud pubsub topics create TOPIC_ID
แทนที่
TOPIC_ID
ด้วยรหัสที่ไม่ซ้ำกันสำหรับหัวข้อ เช่นworkspace-events-topic
เอาต์พุตจะแสดงชื่อหัวข้อแบบเต็มในรูปแบบ
projects/PROJECT_ID/topics/TOPIC_ID
จดชื่อไว้ และตรวจสอบว่าค่าสำหรับ PROJECT_ID คือรหัสโปรเจ็กต์ Cloud สำหรับแอปของคุณ คุณจะใช้ชื่อหัวข้อในขั้นตอนต่อไป และเพื่อสร้าง การสมัครใช้บริการ 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_ID
GOOGLE_WORKSPACE_APPLICATION
: แอปพลิเคชัน 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 สำหรับหัวข้อ
gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
แทนที่ค่าต่อไปนี้
SUBSCRIPTION_NAME
: ชื่อสำหรับการสมัครใช้บริการ เช่นworkspace-events-subscription
TOPIC_NAME
: ชื่อหัวข้อที่คุณสร้าง ในขั้นตอนก่อนหน้า
ติดตามแหล่งข้อมูลของ Google Workspace
ในส่วนนี้ คุณจะสมัครใช้ทรัพยากร Google Workspace ที่ต้องการตรวจสอบเหตุการณ์
เลือกและระบุทรัพยากรเป้าหมาย
ในการสมัครใช้บริการ Google Workspace ทรัพยากรเป้าหมายคือทรัพยากร Google Workspace ที่คุณตรวจสอบหาเหตุการณ์ เป้าหมาย
ทรัพยากรจะแสดงในฟิลด์targetResource
ของการสมัครใช้บริการ โดยจัดรูปแบบโดยใช้ชื่อทรัพยากรแบบเต็ม เช่น สำหรับการสมัครรับข้อมูล
ที่ตรวจสอบพื้นที่ใน Google Chat (spaces/AAAABBBBBBB
) ค่าของ
targetResource
คือ //chat.googleapis.com/spaces/AAAABBBBBBB
ก่อนสร้างการติดตาม โปรดใช้ส่วนต่อไปนี้เพื่อดูวิธี ระบุและจัดรูปแบบแหล่งข้อมูลเป้าหมาย
ระบุแหล่งข้อมูลเป้าหมายสำหรับ Chat
ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด |
---|---|---|
Space |
โดย SPACE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
ผู้ใช้ Chat ที่ให้สิทธิ์การสมัครใช้บริการต้อง เป็นสมาชิกของพื้นที่ทำงานผ่านบัญชี Google Workspace หรือบัญชี Google |
พื้นที่ทั้งหมดสำหรับผู้ใช้ |
|
การสมัครใช้บริการจะรับเฉพาะกิจกรรมสำหรับพื้นที่ทำงานที่ผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google เท่านั้น |
ผู้ใช้ |
โดย USER คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
การสมัครใช้บริการจะได้รับเฉพาะเหตุการณ์เกี่ยวกับผู้ใช้ที่ ให้สิทธิ์การสมัครใช้บริการเท่านั้น ผู้ใช้ไม่สามารถให้สิทธิ์การสมัครใช้บริการในนามของผู้ใช้รายอื่นได้ |
ระบุทรัพยากรเป้าหมายสำหรับไดรฟ์
ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด (หากมี) |
---|---|---|
ไฟล์ | //googleapis.com/drive/v3/files/FILE
โดย FILE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
ผู้ใช้ที่ให้สิทธิ์การติดตามต้องมีสิทธิ์ในไฟล์ภายใน การติดตามที่เกี่ยวข้องกับการติดตามเหตุการณ์ |
ไดรฟ์ที่แชร์ | //googleapis.com/drive/v3/drives/DRIVE
โดย DRIVE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับรายการในไดรฟ์ที่แชร์ซึ่งผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google |
ระบุแหล่งข้อมูลเป้าหมายสำหรับ Meet
ทรัพยากรเป้าหมาย | รูปแบบ | ข้อจำกัด (หากมี) |
---|---|---|
สถานที่ประชุม | //meet.googleapis.com/spaces/SPACE
โดย SPACE คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
|
ผู้ใช้ | //cloudidentity.googleapis.com/users/USER
โดย USER คือรหัสในฟิลด์
|
การสมัครรับข้อมูลจะได้รับเหตุการณ์เกี่ยวกับพื้นที่การประชุมที่ผู้ใช้มีบทบาทต่อไปนี้
|
สร้างการสมัครใช้บริการ 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 ที่คุณสมัครใช้บริการ ซึ่งจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการติดตามพื้นที่ใน Google Chat ที่มีรหัสพื้นที่AAAABBBB
ให้ใช้//chat.googleapis.com/spaces/AAAABBBB
EVENT_TYPES
: ประเภทกิจกรรมอย่างน้อย 1 รายการ ที่คุณต้องการติดตามในแหล่งข้อมูลเป้าหมาย จัดรูปแบบเป็น อาร์เรย์ของสตริง เช่น'google.workspace.chat.message.v1.created'
TOPIC_NAME
: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ Cloud โดยมีรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_ID
RESOURCE_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 ที่คุณสมัครใช้บริการ ซึ่งจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการติดตามพื้นที่ใน Google Chat ที่มีรหัสพื้นที่AAAABBBB
ให้ใช้//chat.googleapis.com/spaces/AAAABBBB
EVENT_TYPES
: ประเภทกิจกรรมอย่างน้อย 1 รายการ ที่คุณต้องการติดตามในแหล่งข้อมูลเป้าหมาย จัดรูปแบบเป็น อาร์เรย์ของสตริง เช่น'google.workspace.chat.message.v1.created'
TOPIC_NAME
: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ Cloud โดยมีรูปแบบเป็นprojects/PROJECT_ID/topics/TOPIC_ID
RESOURCE_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 Cloud
ทริกเกอร์เหตุการณ์อย่างน้อย 1 ประเภทในทรัพยากรเป้าหมายของการสมัครใช้บริการ Google Workspace เช่น หากคุณสมัครรับข้อมูลข้อความใหม่ในพื้นที่ใน Chat ให้โพสต์ข้อความในพื้นที่นั้น
ในคอนโซล Google Cloud ให้ไปที่หน้า Pub/Sub โดยทำดังนี้
ตรวจสอบว่าได้เลือกโปรเจ็กต์ Cloud สำหรับแอปแล้ว
คลิกการสมัครใช้บริการในเมนู 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_ID
MESSAGE_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