หน้านี้อธิบายวิธีใช้ 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
คุณต้องเปิดใช้ API ของ Google ในโปรเจ็กต์ Google Cloud ก่อนจึงจะใช้ได้ คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud โปรเจ็กต์เดียวได้คอนโซล 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 ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > เว็บแอปพลิเคชัน
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- เพิ่ม URI ที่ได้รับอนุญาตที่เกี่ยวข้องกับแอปของคุณ โดยทำดังนี้
- แอปฝั่งไคลเอ็นต์ (JavaScript) - ในส่วนต้นทาง JavaScript ที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ที่จะใช้สําหรับคําขอของเบราว์เซอร์ ซึ่งจะระบุโดเมนที่แอปพลิเคชันสามารถส่งคําขอ API ไปยังเซิร์ฟเวอร์ OAuth 2.0 ได้
- แอปฝั่งเซิร์ฟเวอร์ (Java, Python และอื่นๆ) - คลิกเพิ่ม URI ในส่วน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต จากนั้นป้อน URI ปลายทางที่เซิร์ฟเวอร์ OAuth 2.0 สามารถส่งการตอบกลับได้
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
จดรหัสไคลเอ็นต์ รหัสลับไคลเอ็นต์ไม่ได้ใช้สําหรับเว็บแอปพลิเคชัน
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วนรหัสไคลเอ็นต์ OAuth 2.0
Android
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > Android
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "ชื่อแพ็กเกจ" ให้ป้อนชื่อแพ็กเกจจากไฟล์
AndroidManifest.xml
- ในช่อง "ลายนิ้วมือใบรับรอง SHA-1" ให้ป้อนลายนิ้วมือใบรับรอง SHA-1 ที่สร้างขึ้น
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์ใหม่
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
iOS
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > iOS
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "รหัสกลุ่ม" ให้ป้อนรหัสกลุ่มตามที่แสดงในไฟล์
Info.plist
ของแอป - ไม่บังคับ: หากแอปปรากฏใน Apple App Store ให้ป้อนรหัส App Store
- ไม่บังคับ: ในช่อง "รหัสทีม" ให้ป้อนสตริงแบบ 10 อักขระที่ไม่ซ้ำกันซึ่งสร้างโดย Apple และกำหนดให้กับทีมของคุณ
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอป Chrome
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > แอป Chrome
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "รหัสแอปพลิเคชัน" ให้ป้อนสตริงรหัส 32 อักขระที่ไม่ซ้ำกันของแอป คุณสามารถดูค่ารหัสนี้ได้ใน URL ของ Chrome เว็บสโตร์ของแอปและในหน้าแดชบอร์ดสำหรับนักพัฒนาแอป Chrome เว็บสโตร์
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
แอปบนเดสก์ท็อป
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > แอปเดสก์ท็อป
- พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่องชื่อ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วนรหัสไคลเอ็นต์ OAuth 2.0
ทีวีและอุปกรณ์อินพุตที่จำกัด
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > ทีวีและอุปกรณ์อินพุตแบบจำกัด
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
Universal Windows Platform (UWP)
- ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
- คลิกสร้างข้อมูลเข้าสู่ระบบ > รหัสไคลเอ็นต์ OAuth
- คลิกประเภทแอปพลิเคชัน > แพลตฟอร์ม Universal Windows (UWP)
- ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
- ในช่อง "รหัสร้านค้า" ให้ป้อนค่ารหัส Microsoft Store ที่ไม่ซ้ำกัน 12 อักขระของแอป คุณจะพบรหัสนี้ใน URL ของ Microsoft Store ของแอปและใน Partner Center
- คลิกสร้าง หน้าจอ "สร้างไคลเอ็นต์ OAuth แล้ว" จะปรากฏขึ้นพร้อมแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
- คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"
ดาวน์โหลดไฟล์ JSON ของรหัสลับไคลเอ็นต์
ไฟล์รหัสลับไคลเอ็นต์คือการแสดงข้อมูล JSON ของข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth ที่แอปของคุณอ้างอิงได้เมื่อให้ข้อมูลเข้าสู่ระบบ
ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ
ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 ให้คลิกรหัสไคลเอ็นต์ที่คุณสร้างขึ้น
คลิกดาวน์โหลด JSON
บันทึกไฟล์เป็น
client_secrets.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
- สำหรับกิจกรรมใน Meet
meet-api-event-push@system.gserviceaccount.com
- สําหรับกิจกรรมใน Chat ให้ใช้
- เลือก
Pub/Sub Publisher
ในเมนูมอบหมายบทบาท - คลิกบันทึก การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลา 2-3 นาที
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
- หากต้องการรับเหตุการณ์จาก 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-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 คือรหัสใน
ชื่อทรัพยากรของทรัพยากร |
การสมัครใช้บริการจะรับเฉพาะเหตุการณ์เกี่ยวกับผู้ใช้ที่อนุญาตให้สมัครใช้บริการเท่านั้น ผู้ใช้ไม่สามารถให้สิทธิ์การสมัครใช้บริการในนามของผู้ใช้รายอื่นได้ |
ระบุทรัพยากรเป้าหมายสำหรับ 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('client_secrets.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/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID
MESSAGE_COUNT
: จํานวนข้อความ Pub/Sub สูงสุดที่คุณต้องการดึง
เหตุการณ์อาจใช้เวลา 2-3 นาทีในการสร้างข้อความ Pub/Sub
ระบบจะส่งข้อความไปยังการสมัครใช้บริการ Pub/Sub ที่มีเหตุการณ์สำหรับเหตุการณ์ Google Workspace แต่ละรายการที่คุณทริกเกอร์ โปรดดูรายละเอียดที่หัวข้อการรับเหตุการณ์เป็นข้อความ Google Cloud Pub/Sub
กำหนดค่าวิธีที่แอปของคุณรับเหตุการณ์
การสมัครใช้บริการ Pub/Sub ที่คุณสร้างขึ้นเป็นแบบดึงข้อมูล หลังจากทดสอบการสมัครใช้บริการ Pub/Sub แล้ว คุณสามารถอัปเดตประเภทการนำส่งเพื่อเปลี่ยนวิธีที่แอปของคุณรับเหตุการณ์ เช่น คุณสามารถกําหนดค่าการสมัครใช้บริการ Pub/Sub เป็นประเภทการนำส่งแบบพุชเพื่อให้แอปรับเหตุการณ์ได้โดยตรงที่ปลายทางของแอป
ดูข้อมูลเกี่ยวกับการกำหนดค่าการสมัครใช้บริการ Pub/Sub ได้ที่เอกสารประกอบของ Pub/Sub