สร้างการสมัครใช้บริการ 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

คุณต้องเปิดใช้ API ของ Google ในโปรเจ็กต์ Google Cloud ก่อนจึงจะใช้ได้ คุณเปิด API อย่างน้อย 1 รายการในโปรเจ็กต์ Google Cloud โปรเจ็กต์เดียวได้

คอนโซล Google Cloud

ในคอนโซล Google Cloud ให้เปิดโปรเจ็กต์ Google Cloud สําหรับแอปและเปิดใช้ Google Workspace Events API และ Pub/Sub API โดยทำดังนี้

เปิดใช้ API

gcloud

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

    gcloud auth login
  2. ตั้งค่าโปรเจ็กต์เป็นโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับแอปของคุณ โดยทำดังนี้

    gcloud config set project PROJECT_ID

    แทนที่ PROJECT_ID ด้วยรหัสโปรเจ็กต์ของโปรเจ็กต์ที่อยู่ในระบบคลาวด์สำหรับแอปของคุณ

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

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

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

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

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

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

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

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

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

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

Android

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

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

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

iOS

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

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

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

แอป Chrome

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

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

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

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

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

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

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

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

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

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

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

Universal Windows Platform (UWP)

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

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

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

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

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

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

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

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

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

  4. บันทึกไฟล์เป็น client_secrets.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. สำหรับกิจกรรมใน Meet meet-api-event-push@system.gserviceaccount.com
    4. เลือก Pub/Sub Publisher ในเมนูมอบหมายบทบาท
    5. คลิกบันทึก การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลา 2-3 นาที

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
      • หากต้องการรับเหตุการณ์จาก Meet ให้ใช้ meet-api-event-push@system.gserviceaccount.com

    การอัปเดตสิทธิ์สำหรับหัวข้ออาจใช้เวลา 2-3 นาที

  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

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

ระบุทรัพยากรเป้าหมายสำหรับ Meet

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

โดยที่ SPACE คือรหัสใน ชื่อทรัพยากรของทรัพยากร space ใน Meet REST API โปรดดูรายละเอียดที่หัวข้อวิธีที่ 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('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: ไม่รวมข้อมูลทรัพยากร
  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/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