สร้างการสมัครใช้บริการ Google Workspace

หน้านี้อธิบายวิธีใช้ Google Workspace Events API เพื่อสร้าง การสมัครใช้บริการทรัพยากร Google Workspace การสมัครใช้บริการ Google Workspace ช่วยให้แอปของคุณรับข้อมูลเกี่ยวกับเหตุการณ์ใน Google Workspace ซึ่ง แสดงถึงการเปลี่ยนแปลงทรัพยากรใน Google Workspace ดูข้อมูลเกี่ยวกับแหล่งข้อมูลและประเภทเหตุการณ์ที่ Google Workspace Events API รองรับได้ที่ภาพรวมของ Google Workspace Events API

หน้านี้มีขั้นตอนต่อไปนี้สำหรับการสร้างการสมัครใช้บริการ Google Workspace

  1. ตั้งค่าสภาพแวดล้อม
  2. สร้างและสมัครใช้บริการหัวข้อ Google Cloud Pub/Sub คุณใช้หัวข้อนี้เป็น ปลายทางเพื่อรับเหตุการณ์ใน Google Workspace
  3. เรียกใช้เมธอด create ของ Google Workspace Events API ในทรัพยากร Subscription
  4. ทดสอบการสมัครใช้บริการ Google Workspace เพื่อยืนยันว่าหัวข้อ Pub/Sub ได้รับเหตุการณ์ที่คุณสมัครใช้บริการ
  5. คุณจะกำหนดค่าวิธีพุชเหตุการณ์ไปยังปลายทางสำหรับแอปก็ได้ เพื่อให้แอปประมวลผลเหตุการณ์และดำเนินการหากจำเป็น

ข้อกำหนดเบื้องต้น

Apps Script

  • หากต้องการใช้คำสั่ง Google Cloud CLI ในคู่มือนี้ ให้ทำดังนี้
    1. ติดตั้ง Google Cloud CLI
    2. หากต้องการ เริ่มต้น CLI ของ gcloud ให้เรียกใช้โค้ดต่อไปนี้
    3.   gcloud init
        
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน สำหรับการสมัครใช้บริการ Chat คุณต้องเปิดใช้ Chat API ในโปรเจ็กต์ Cloud และกำหนดค่าช่องชื่อแอป, URL รูปโปรไฟล์ และคำอธิบายด้วย โปรดดูรายละเอียดที่หัวข้อ สร้างแอป Google Chat
  • ต้องมีการตรวจสอบสิทธิ์ผู้ใช้โดยกำหนดค่าหน้าจอคำยินยอม OAuth สำหรับแอป เมื่อกำหนดค่าหน้าจอคำยินยอม คุณต้องระบุขอบเขตเพื่อรองรับประเภทเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ หากต้องการกำหนดค่าหน้าจอขอความยินยอม และระบุขอบเขตที่จำเป็น โปรดดูเลือกขอบเขต
  • โปรเจ็กต์ Apps Script
    • ใช้โปรเจ็กต์ Google Cloud แทนโปรเจ็กต์เริ่มต้นที่ Apps Script สร้างขึ้นโดยอัตโนมัติ
    • สำหรับขอบเขตใดก็ตามที่คุณเพิ่มเพื่อกำหนดค่าหน้าจอขอความยินยอม OAuth คุณต้องเพิ่มขอบเขตลงในไฟล์ appsscript.json ในโปรเจ็กต์ Apps Script ด้วย เช่น
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • เปิดใช้ Google Workspace Eventsบริการขั้นสูง

Python

  • Python 3.6 ขึ้นไป
  • เครื่องมือจัดการแพ็กเกจ pip
  • ไลบรารีของไคลเอ็นต์ Google สำหรับ Python เวอร์ชันล่าสุด หากต้องการติดตั้งหรืออัปเดต ให้เรียกใช้คำสั่งต่อไปนี้ ในอินเทอร์เฟซบรรทัดคำสั่ง
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      
  • หากต้องการใช้คำสั่ง Google Cloud CLI ในคู่มือนี้ ให้ทำดังนี้
    1. ติดตั้ง Google Cloud CLI
    2. หากต้องการ เริ่มต้น CLI ของ gcloud ให้เรียกใช้โค้ดต่อไปนี้
    3.   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 โดยทำดังนี้

เปิดใช้ API

gcloud

  1. ลงชื่อเข้าใช้บัญชี Google ในไดเรกทอรีการทำงานโดยทำดังนี้

    gcloud auth login
  2. ตั้งค่าโปรเจ็กต์เป็นโปรเจ็กต์ Cloud สำหรับแอปของคุณ

    gcloud config set project PROJECT_ID

    แทนที่ PROJECT_ID ด้วย รหัสโปรเจ็กต์สำหรับโปรเจ็กต์ Cloud ของแอป

  3. เปิดใช้ Google Workspace Events API และ Google Cloud Pub/Sub API โดยทำดังนี้

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com

สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth

เลือกประเภทแอปพลิเคชันเพื่อดูวิธีการสร้างรหัสไคลเอ็นต์ OAuth โดยเฉพาะ

เว็บแอปพลิเคชัน

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > เว็บแอปพลิเคชัน
  4. ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. เพิ่ม URI ที่ได้รับอนุญาตซึ่งเกี่ยวข้องกับแอปของคุณ
    • แอปฝั่งไคลเอ็นต์ (JavaScript) - ในส่วนต้นทาง JavaScript ที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ที่จะใช้สำหรับคำขอของเบราว์เซอร์ ซึ่งจะระบุโดเมนที่แอปพลิเคชันของคุณสามารถส่งคำขอ API ไปยังเซิร์ฟเวอร์ OAuth 2.0 ได้
    • แอปฝั่งเซิร์ฟเวอร์ (Java, Python และอื่นๆ) - ในส่วน URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต ให้คลิกเพิ่ม URI จากนั้นป้อน URI ของปลายทางที่เซิร์ฟเวอร์ OAuth 2.0 สามารถส่งการตอบกลับได้
  6. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วนรหัสไคลเอ็นต์ OAuth 2.0

    จดรหัสไคลเอ็นต์ ระบบจะไม่ใช้รหัสลับไคลเอ็นต์สำหรับเว็บแอปพลิเคชัน

Android

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > Android
  4. ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. ในช่อง "ชื่อแพ็กเกจ" ให้ป้อนชื่อแพ็กเกจจากไฟล์ AndroidManifest.xml
  6. ในช่อง "ลายนิ้วมือใบรับรอง SHA-1" ให้ป้อนลายนิ้วมือใบรับรอง SHA-1 ที่สร้างขึ้น
  7. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

iOS

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > iOS
  4. ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. ในช่อง "รหัสชุด" ให้ป้อนรหัสชุดซอฟต์แวร์ตามที่แสดงในไฟล์ Info.plist ของแอป
  6. ไม่บังคับ: หากแอปปรากฏใน Apple App Store ให้ป้อนรหัส App Store
  7. ไม่บังคับ: ในช่อง "รหัสทีม" ให้ป้อนสตริงแบบ 10 อักขระที่ไม่ซ้ำกันซึ่งสร้างโดย Apple และกำหนดให้กับทีมของคุณ
  8. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

แอป Chrome

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > ส่วนขยาย Chrome
  4. ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. ในช่อง "รหัสสินค้า" ให้ป้อนสตริงรหัส 32 อักขระที่ไม่ซ้ำกันของแอป คุณดูค่ารหัสนี้ได้ใน URL ของ Chrome เว็บสโตร์ของแอปและในแดชบอร์ดสำหรับนักพัฒนาซอฟต์แวร์ Chrome เว็บสโตร์
  6. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

แอปบนเดสก์ท็อป

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > แอปเดสก์ท็อป
  4. ในช่องชื่อ ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

ทีวีและอุปกรณ์อินพุตที่จำกัด

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > ทีวีและอุปกรณ์ที่มีอินพุตจำกัด
  4. ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

Universal Windows Platform (UWP)

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > > ไคลเอ็นต์

    ไปที่ลูกค้า

  2. คลิกสร้างไคลเอ็นต์
  3. คลิกประเภทแอปพลิเคชัน > Universal Windows Platform (UWP)
  4. ในช่อง "ชื่อ" ให้พิมพ์ชื่อของข้อมูลเข้าสู่ระบบ ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. ในช่อง "รหัสร้านค้า" ให้ป้อนค่ารหัส Microsoft Store ที่ไม่ซ้ำกันของแอปซึ่งมี 12 อักขระ คุณดูรหัสนี้ได้ใน URL ของ Microsoft Store ของแอปและในPartner Center
  6. คลิกสร้าง

    ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

ดาวน์โหลดไฟล์ JSON ของรหัสลับไคลเอ็นต์

ไฟล์รหัสลับไคลเอ็นต์คือการแสดง JSON ของข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth ที่แอปของคุณอ้างอิงได้เมื่อระบุข้อมูลเข้าสู่ระบบ

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > API และบริการ > ข้อมูลเข้าสู่ระบบ

    ไปที่ข้อมูลเข้าสู่ระบบ

  2. ในส่วนรหัสไคลเอ็นต์ OAuth 2.0 ให้คลิกรหัสไคลเอ็นต์ที่สร้างขึ้น

  3. คลิกดาวน์โหลด JSON

  4. บันทึกไฟล์เป็น credentials.json

สร้างและสมัครใช้บริการหัวข้อ Pub/Sub

ในส่วนนี้ คุณจะได้สร้างหัวข้อ Pub/Sub และการสมัครรับข้อมูลหัวข้อ หัวข้อ Pub/Sub จะทำหน้าที่เป็นปลายทางการแจ้งเตือนที่การสมัครใช้บริการ Google Workspace จะรับเหตุการณ์

ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างและจัดการหัวข้อ Pub/Sub ได้ที่เอกสารประกอบของ Pub/Sub

วิธีสร้างและสมัครใช้บริการหัวข้อ Pub/Sub

คอนโซล Google Cloud

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Pub/Sub โดยทำดังนี้

    ไปที่ Google Cloud Pub/Sub

    ตรวจสอบว่าได้เลือกโปรเจ็กต์ Cloud สำหรับแอปแล้ว

  2. คลิก สร้างหัวข้อ แล้วทำดังนี้

    1. ป้อนชื่อหัวข้อ เช่น workspace-events-topic
    2. เลือกเพิ่มการสมัครใช้บริการเริ่มต้นไว้ Pub/Sub จะตั้งชื่อการสมัครใช้บริการเริ่มต้นนี้ คล้ายกับชื่อของหัวข้อ เช่น workspace-events-topic-sub
    3. ไม่บังคับ: อัปเดตหรือกําหนดค่าพร็อพเพอร์ตี้เพิ่มเติม สําหรับหัวข้อ
  3. คลิกสร้าง ชื่อหัวข้อแบบเต็มจะอยู่ในรูปแบบ projects/PROJECT_ID/topics/TOPIC_ID คุณจะใช้ชื่อเต็มนี้ในขั้นตอนถัดไป

  4. ให้สิทธิ์เข้าถึงเพื่อเผยแพร่ข้อความ Pub/Sub ไปยังหัวข้อของคุณ

    1. ในหน้าของหัวข้อ ให้ไปที่แผงด้านข้างแล้วเปิดแท็บสิทธิ์
    2. คลิกเพิ่มผู้รับมอบสิทธิ์
    3. ในช่องเพิ่มผู้ใช้หลัก ให้เพิ่มบัญชีบริการสำหรับ แอปพลิเคชัน Google Workspace ที่ส่งกิจกรรมไปยัง การสมัครใช้บริการของคุณ
      1. สำหรับกิจกรรมใน Chat chat-api-push@system.gserviceaccount.com
      2. รุ่นตัวอย่างสำหรับนักพัฒนาแอป: สำหรับเหตุการณ์ในไดรฟ์ drive-api-event-push@system.gserviceaccount.com
      3. สำหรับกิจกรรม Meet meet-api-event-push@system.gserviceaccount.com
    4. ในเมนูมอบหมายบทบาท ให้เลือก Pub/Sub Publisher
    5. คลิกบันทึก การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลาสักครู่

gcloud

  1. สร้างหัวข้อในโปรเจ็กต์ Cloud โดยเรียกใช้คำสั่งต่อไปนี้

    gcloud pubsub topics create TOPIC_ID

    แทนที่ TOPIC_ID ด้วยรหัสที่ไม่ซ้ำกันสำหรับหัวข้อ เช่น workspace-events-topic

    เอาต์พุตจะแสดงชื่อหัวข้อแบบเต็มในรูปแบบ projects/PROJECT_ID/topics/TOPIC_ID จดชื่อไว้ และตรวจสอบว่าค่าสำหรับ PROJECT_ID คือรหัสโปรเจ็กต์ Cloud สำหรับแอปของคุณ คุณจะใช้ชื่อหัวข้อในขั้นตอนต่อไป และเพื่อสร้าง การสมัครใช้บริการ Google Workspace ในภายหลัง

  2. ให้สิทธิ์เข้าถึงเพื่อเผยแพร่ข้อความไปยังหัวข้อของคุณ

    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

    การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลาสักครู่

  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

//chat.googleapis.com/spaces/SPACE

โดย SPACE คือรหัสใน ชื่อทรัพยากรของทรัพยากร space ใน Chat API คุณดูรหัสได้จาก URL ของพื้นที่ทำงานหรือใช้เมธอด spaces.list()

ผู้ใช้ Chat ที่ให้สิทธิ์การสมัครใช้บริการต้อง เป็นสมาชิกของพื้นที่ทำงานผ่านบัญชี Google Workspace หรือบัญชี Google
พื้นที่ทั้งหมดสำหรับผู้ใช้

//chat.googleapis.com/spaces/-

การสมัครใช้บริการจะรับเฉพาะกิจกรรมสำหรับพื้นที่ทำงานที่ผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google เท่านั้น
ผู้ใช้

//cloudidentity.googleapis.com/users/USER

โดย USER คือรหัสใน ชื่อทรัพยากรของทรัพยากร user ใน Chat API โปรดดูรายละเอียดที่หัวข้อ ระบุและกำหนด ผู้ใช้ Google Chat

การสมัครใช้บริการจะได้รับเฉพาะเหตุการณ์เกี่ยวกับผู้ใช้ที่ ให้สิทธิ์การสมัครใช้บริการเท่านั้น ผู้ใช้ไม่สามารถให้สิทธิ์การสมัครใช้บริการในนามของผู้ใช้รายอื่นได้

ระบุทรัพยากรเป้าหมายสำหรับไดรฟ์

ทรัพยากรเป้าหมาย รูปแบบ ข้อจำกัด (หากมี)
ไฟล์ //googleapis.com/drive/v3/files/FILE

โดย FILE คือรหัสใน ชื่อทรัพยากรของทรัพยากร files ใน Drive API คุณสามารถรับ รหัสจาก URL ของไฟล์หรือโดยใช้เมธอด files.list

ผู้ใช้ที่ให้สิทธิ์การติดตามต้องมีสิทธิ์ในไฟล์ภายใน การติดตามที่เกี่ยวข้องกับการติดตามเหตุการณ์
ไดรฟ์ที่แชร์ //googleapis.com/drive/v3/drives/DRIVE

โดย DRIVE คือรหัสใน ชื่อทรัพยากรของทรัพยากร drives ใน Drive API คุณดูรหัสได้จาก URL ของไดรฟ์หรือโดยใช้วิธี drives.list

การสมัครใช้บริการจะรับเฉพาะเหตุการณ์สำหรับรายการในไดรฟ์ที่แชร์ซึ่งผู้ใช้เป็นสมาชิกผ่านบัญชี Google Workspace หรือบัญชี Google

ระบุแหล่งข้อมูลเป้าหมายสำหรับ Meet

ทรัพยากรเป้าหมาย รูปแบบ ข้อจำกัด (หากมี)
สถานที่ประชุม //meet.googleapis.com/spaces/SPACE

โดย SPACE คือรหัสใน ชื่อทรัพยากรของทรัพยากร space ใน REST API ของ Meet โปรดดูรายละเอียดที่หัวข้อ วิธี ที่ Meet ระบุพื้นที่การประชุม

ผู้ใช้ //cloudidentity.googleapis.com/users/USER

โดย USER คือรหัสในฟิลด์ signedinUser.user ของแหล่งข้อมูล participant ใน Meet REST API โปรดดูรายละเอียดที่หัวข้อ ทำงานร่วมกับผู้เข้าร่วม

การสมัครรับข้อมูลจะได้รับเหตุการณ์เกี่ยวกับพื้นที่การประชุมที่ผู้ใช้มีบทบาทต่อไปนี้

  • เจ้าของพื้นที่จัดประชุม
  • ผู้เข้าร่วมในพื้นที่การประชุม
  • ผู้จัดการ กิจกรรมใน 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

  1. ในโปรเจ็กต์ 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: ไม่รวมข้อมูลทรัพยากร
  2. หากต้องการสร้างการสมัครใช้บริการ Google Workspace ให้เรียกใช้ฟังก์ชัน createSubscription ในโปรเจ็กต์ Apps Script

Python

  1. ในไดเรกทอรีการทำงาน ให้สร้างไฟล์ชื่อ 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: ไม่รวมข้อมูลทรัพยากร
  2. หากต้องการสร้างการสมัครใช้บริการ Google Workspace ให้เรียกใช้คำสั่งต่อไปนี้ในเทอร์มินัล

    python3 create_subscription.py

Google Workspace Events API จะแสดงการดำเนินการที่ใช้เวลานานที่เสร็จสมบูรณ์แล้ว ซึ่งมีการ อินสแตนซ์ของทรัพยากร Subscription ที่คุณสร้างขึ้น

ทดสอบการสมัครใช้บริการ Google Workspace

หากต้องการทดสอบว่าคุณได้รับเหตุการณ์ Google Workspace หรือไม่ คุณสามารถทริกเกอร์ เหตุการณ์และดึงข้อความไปยังการสมัครใช้บริการ Pub/Sub ได้

วิธีทดสอบการสมัครใช้บริการ Google Workspace

คอนโซล Google Cloud

  1. ทริกเกอร์เหตุการณ์อย่างน้อย 1 ประเภทในทรัพยากรเป้าหมายของการสมัครใช้บริการ Google Workspace เช่น หากคุณสมัครรับข้อมูลข้อความใหม่ในพื้นที่ใน Chat ให้โพสต์ข้อความในพื้นที่นั้น

  2. ในคอนโซล Google Cloud ให้ไปที่หน้า Pub/Sub โดยทำดังนี้

    ไปที่ Pub/Sub

    ตรวจสอบว่าได้เลือกโปรเจ็กต์ Cloud สำหรับแอปแล้ว

  3. คลิกการสมัครใช้บริการในเมนู Pub/Sub

  4. ในตาราง ให้ค้นหาการสมัครใช้บริการ Pub/Sub สำหรับหัวข้อของคุณ แล้วคลิก ชื่อการสมัครใช้บริการ

  5. คลิกแท็บข้อความ

  6. คลิกดึง เหตุการณ์อาจใช้เวลา 2-3 นาทีในการสร้างข้อความ Pub/Sub

gcloud

  1. ทริกเกอร์เหตุการณ์อย่างน้อย 1 ประเภทในทรัพยากรเป้าหมายของการสมัครใช้บริการ Google Workspace เช่น หากคุณสมัครรับข้อมูลข้อความใหม่ในพื้นที่ใน Chat ให้โพสต์ข้อความในพื้นที่นั้น

  2. เรียกใช้คำสั่งต่อไปนี้

    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