สร้างการสมัครใช้บริการ 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 Chat ซึ่งเป็นพื้นที่ใน Chat ที่ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วเป็นสมาชิก ผู้ใช้ต้องเป็นสมาชิกของพื้นที่ทำงานผ่านบัญชี Google Workspace หรือบัญชี Google (ไม่รองรับผู้ใช้ที่เป็นสมาชิกของพื้นที่ทำงานผ่าน Google Group)
    • หากต้องการสมัครใช้บริการพื้นที่การประชุมของ Google Meet พื้นที่จัดประชุมจะมีผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์แล้วเป็นเจ้าของ หากต้องการสร้างพื้นที่ทำงาน โปรดดูหัวข้อทำงานกับพื้นที่ประชุมในเอกสารประกอบของ Google Meet
    • หากต้องการสมัครใช้บริการผู้ใช้ Google Meet ให้ใช้รหัส user สำหรับ Cloud Identity API
  • โปรเจ็กต์ 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 Chat ซึ่งเป็นพื้นที่ใน Chat ที่ผู้ใช้ที่ตรวจสอบสิทธิ์แล้วเป็นสมาชิก ผู้ใช้ต้องเป็นสมาชิกของพื้นที่ทำงานผ่านบัญชี Google Workspace หรือบัญชี Google (ไม่รองรับผู้ใช้ที่เป็นสมาชิกของพื้นที่ทำงานผ่าน Google Group)
    • หากต้องการสมัครใช้บริการพื้นที่การประชุมของ Google Meet พื้นที่จัดประชุมจะมีผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์แล้วเป็นเจ้าของ หากต้องการสร้างพื้นที่ทำงาน โปรดดูหัวข้อทำงานกับพื้นที่ประชุมในเอกสารประกอบของ Google Meet
    • หากต้องการสมัครใช้บริการผู้ใช้ Google Meet ให้ใช้รหัส user สำหรับ Cloud Identity API
  • โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน สำหรับการสมัครใช้บริการ Chat คุณต้องเปิดใช้ Chat API ในโปรเจ็กต์ Cloud และกำหนดค่าช่องชื่อแอป, URL ของรูปโปรไฟล์ และคำอธิบายด้วย โปรดดูรายละเอียดที่หัวข้อสร้างแอป Google Chat
  • ต้องมีการตรวจสอบสิทธิ์ผู้ใช้ด้วยหน้าจอคำยินยอม OAuth ที่กำหนดค่าไว้สำหรับแอป เมื่อกำหนดค่าหน้าจอคำยินยอม คุณต้องระบุขอบเขตที่รองรับเหตุการณ์แต่ละประเภทสำหรับการสมัครใช้บริการ หากต้องการกำหนดค่าหน้าจอคำยินยอมและระบุขอบเขตที่จำเป็น โปรดดูหัวข้อเลือกขอบเขต

ตั้งค่าสภาพแวดล้อมของคุณ

หัวข้อต่อไปนี้อธิบายวิธีตั้งค่าสภาพแวดล้อมก่อนที่จะสร้างการสมัครใช้บริการ Google Workspace

เปิดใช้ Google Workspace Events API และ Google Cloud Pub/Sub API

ก่อนใช้ Google APIs คุณต้องเปิดใช้ API ในโปรเจ็กต์ 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) - คลิกเพิ่ม URI ในส่วนต้นทาง JavaScript ที่ได้รับอนุญาต จากนั้นป้อน 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 Platform (UWP)
  4. พิมพ์ชื่อของข้อมูลเข้าสู่ระบบในช่อง "ชื่อ" ชื่อนี้จะแสดงในคอนโซล Google Cloud เท่านั้น
  5. ในช่อง "รหัสร้านค้า" ให้ป้อนค่ารหัส Microsoft Store ที่ไม่ซ้ำกันซึ่งมี 12 อักขระของแอป คุณจะพบรหัสนี้ใน URL ของ Microsoft Store ของแอปและในศูนย์พาร์ทเนอร์
  6. คลิกสร้าง หน้าจอที่สร้างของไคลเอ็นต์ OAuth จะปรากฏขึ้นเพื่อแสดงรหัสไคลเอ็นต์และรหัสลับไคลเอ็นต์ใหม่
  7. คลิกตกลง ข้อมูลเข้าสู่ระบบที่สร้างขึ้นใหม่จะปรากฏในส่วน "รหัสไคลเอ็นต์ OAuth 2.0"

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

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

  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

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

  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. คลิกบันทึก คุณอาจต้องอัปเดตสิทธิ์สำหรับหัวข้อ

gcloud

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

    gcloud pubsub topics create TOPIC_ID
    

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

    เอาต์พุตจะแสดงชื่อหัวข้อแบบเต็มในรูปแบบ projects/PROJECT_ID/topics/TOPIC_ID จดชื่อและตรวจสอบว่าค่าของ PROJECT_ID คือรหัสโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของแอป โดยให้ใช้ชื่อหัวข้อในขั้นตอนถัดไปและเพื่อสร้างการสมัครใช้บริการ 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

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

  3. สร้างการสมัครใช้บริการ Pub/Sub สำหรับหัวข้อดังนี้

     gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
    

    แทนที่รายการต่อไปนี้

    • SUBSCRIPTION_NAME: ชื่อสำหรับการสมัครใช้บริการ เช่น workspace-events-subscription
    • TOPIC_NAME: ชื่อหัวข้อที่คุณสร้างขึ้นในขั้นตอนก่อนหน้า

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

ในส่วนนี้ คุณจะใช้เมธอด subscriptions.create() ของ Google Workspace Events API เพื่อสร้างทรัพยากร Subscription คุณจะระบุข้อมูลในช่องต่อไปนี้

  • targetResource: ทรัพยากรของ Google Workspace ที่ใช้ตรวจสอบเหตุการณ์ต่างๆ เช่น พื้นที่ใน Chat
  • 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 ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็น 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 ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็น 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

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

  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 สูงสุดที่คุณต้องการดึง

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

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

กำหนดค่าวิธีที่แอปรับเหตุการณ์

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

ดูข้อมูลเกี่ยวกับการกำหนดค่าการสมัครใช้บริการ Pub/Sub ได้ที่เอกสารประกอบเกี่ยวกับ Pub/Sub