สร้างการสมัครใช้บริการ 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. หากต้องการ เริ่มต้น gcloud CLI ให้เรียกใช้โค้ดต่อไปนี้
    3.   gcloud init
        
  • โปรเจ็กต์ Apps Script
    • ใช้โปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google แทนโปรเจ็กต์เริ่มต้นที่ Apps Script สร้างขึ้นโดยอัตโนมัติ
    • สำหรับขอบเขตทั้งหมดที่คุณเพิ่มเพื่อกำหนดค่าหน้าจอขอความยินยอม OAuth คุณต้องเพิ่มขอบเขตลงในไฟล์ appsscript.json ในโปรเจ็กต์ Apps Script ด้วย เช่น หากคุณระบุขอบเขต chat.messages ให้เพิ่มรายการต่อไปนี้
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • เปิดใช้บริการขั้นสูง 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. หากต้องการ เริ่มต้น gcloud CLI ให้เรียกใช้โค้ดต่อไปนี้
    3.   gcloud init
        

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

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

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

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

คอนโซล 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 ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์

    ไปที่ลูกค้า

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

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

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

Android

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์

    ไปที่ลูกค้า

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

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

iOS

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

    ไปที่ลูกค้า

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

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

แอป Chrome

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

    ไปที่ลูกค้า

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

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

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

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

    ไปที่ลูกค้า

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

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

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

  1. ในคอนโซล Google Cloud ให้ไปที่เมนู > แพลตฟอร์มการตรวจสอบสิทธิ์ของ Google > ไคลเอ็นต์

    ไปที่ลูกค้า

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

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

Universal Windows Platform (UWP)

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

    ไปที่ลูกค้า

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

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

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

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

  1. ในคอนโซล Google API ให้ไปที่เมนู > 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 API

  1. ในคอนโซล Google API ให้ไปที่หน้า 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. สำหรับเหตุการณ์ในไดรฟ์ drive-api-event-push@system.gserviceaccount.com
      3. สำหรับกิจกรรม 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 ให้ใช้บัญชีบริการอย่างใดอย่างหนึ่งต่อไปนี้
      • หากต้องการรับเหตุการณ์จากไดรฟ์ ให้ใช้ drive-api-event-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 ของการสมัครใช้บริการ โดยจัดรูปแบบโดยใช้ชื่อทรัพยากรแบบเต็ม ตัวอย่างเช่น สำหรับการสมัครใช้บริการที่ตรวจสอบพื้นที่ทำงานใน Chat (spaces/AAAABBBBBBB) ค่าของ targetResource จะเป็น //chat.googleapis.com/spaces/AAAABBBBBBB

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

ทรัพยากรเป้าหมาย รูปแบบ ข้อจำกัด
Space

//chat.googleapis.com/spaces/SPACE

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

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

//chat.googleapis.com/spaces/-

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

//cloudidentity.googleapis.com/users/USER

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

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

ลูกค้า ( เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์)

//admin.googleapis.com/customers/CUSTOMER

โดยที่ CUSTOMER คือรหัสลูกค้า คุณยังใช้ชื่อแทน my_customer สำหรับโดเมนลูกค้าของแอปใน Chat ได้ด้วย

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

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

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

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

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

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

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

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

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

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

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

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

การสมัครใช้บริการจะได้รับเหตุการณ์เกี่ยวกับพื้นที่การประชุมทั้งหมดที่ผู้ใช้เป็นเจ้าของพื้นที่การประชุม โดยปกติแล้ว เจ้าของพื้นที่การประชุมจะเป็นผู้จัดกิจกรรมใน 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 ที่คุณสมัครใช้บริการ ซึ่งจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการสมัครรับข้อมูลพื้นที่ใน 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('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 ที่คุณสมัครใช้บริการ ซึ่งจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการสมัครรับข้อมูลพื้นที่ใน 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 API

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

  2. ในคอนโซล Google API ให้ไปที่หน้า 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/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

ติดตามเหตุการณ์ในพื้นที่ทำงานของ Chat ในฐานะแอป Google Chat

คุณสามารถสมัครรับข้อมูลเหตุการณ์ใน Chat ในฐานะแอปใน Chat จากพื้นที่ทำงานที่แอปใน Chat เป็นสมาชิกได้ แอปใน Chat ไม่สามารถสมัครรับข้อมูลเหตุการณ์ของผู้ใช้ได้

เขียนสคริปต์ที่เรียกใช้ Google Workspace Events API

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

  1. หากจำเป็น ให้สร้างแอปใน Chat
  2. สมัครรับข้อมูลทรัพยากรของ Chat แต่มีข้อจำกัดดังนี้

    1. ให้ตรวจสอบสิทธิ์ในฐานะแอป Chat ด้วยการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียวแทนการตรวจสอบสิทธิ์ของผู้ใช้
    2. ระบุขอบเขตการให้สิทธิ์ที่อนุญาตให้แอปใน Chat สมัครรับข้อมูลเหตุการณ์ใน Chat ขอบเขตการให้สิทธิ์เหล่านี้จะขึ้นต้นด้วย chat.app เสมอ และรวมถึงรายการต่อไปนี้

      • https://www.googleapis.com/auth/chat.app.memberships: สมัครรับข้อมูลเหตุการณ์ของสมาชิกในพื้นที่ใน Chat
      • https://www.googleapis.com/auth/chat.app.memberships.readonly: สมัครรับข้อมูลเหตุการณ์ของสมาชิกในพื้นที่ใน Chat
      • https://www.googleapis.com/auth/chat.app.messages.readonly: สมัครรับข้อมูลกิจกรรมข้อความและรีแอ็กชันในพื้นที่ทำงานของ Chat
      • https://www.googleapis.com/auth/chat.app.spaces: สมัครรับข้อมูลกิจกรรมในพื้นที่ทำงานของ Chat
      • https://www.googleapis.com/auth/chat.app.spaces.readonly: สมัครรับข้อมูลเหตุการณ์ในพื้นที่ทำงานของ Chat

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

Python

  """Create subscription."""

  from google.oauth2 import service_account
  from apiclient.discovery import build

  # Specify required scopes.
  SCOPES = ['https://www.googleapis.com/auth/chat.app.messages.readonly']

  # Specify service account details.
  CREDENTIALS = (
      service_account.Credentials.from_service_account_file('credentials.json')
      .with_scopes(SCOPES)
  )

  # The Google Workspace resource to monitor for events.
  TARGET_RESOURCE = '//chat.googleapis.com/spaces/SPACE_ID'

  # The types of events to receive.
  EVENT_TYPES = [
                  'google.workspace.chat.message.v1.created',
                  'google.workspace.chat.message.v1.updated',
                  'google.workspace.chat.message.v1.deleted',
                ]

  # 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)

แทนที่ค่าต่อไปนี้

  • SPACE_ID: ชื่อพื้นที่ทำงาน ซึ่งคุณสามารถดูได้จากเมธอด spaces.list ใน Chat API หรือจาก URL ของพื้นที่ทำงาน
  • TOPIC_NAME: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็น projects/PROJECT_ID/topics/TOPIC_ID
  • RESOURCE_DATA: บูลีนที่ระบุว่าการสมัครใช้บริการมีข้อมูลทรัพยากรในเพย์โหลดหรือไม่

    • True: รวมข้อมูลทรัพยากรทั้งหมด หากต้องการจำกัดช่องที่จะรวม ให้เพิ่มช่อง fieldMask และระบุช่องอย่างน้อย 1 ช่องสำหรับทรัพยากรที่มีการเปลี่ยนแปลง เฉพาะการสมัครใช้บริการแหล่งข้อมูล Chat เท่านั้นที่รองรับการรวมข้อมูลแหล่งข้อมูล
    • False: ไม่รวมข้อมูลทรัพยากร

สมัครรับกิจกรรมทั้งหมดของ Chat ในองค์กร Google Workspace ในฐานะแอป Google Chat

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

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

ข้อกำหนดและข้อจำกัด

  • การตรวจสอบสิทธิ์: ตรวจสอบสิทธิ์ในฐานะแอปใน Chat ด้วยการอนุมัติจากผู้ดูแลระบบแบบครั้งเดียว
  • SKU: องค์กร Google Workspace ต้องมีใบอนุญาต SKU ของ Enterprise อย่างน้อย 1 ใบ โปรดทราบว่าข้อกำหนดนี้ไม่ได้บังคับใช้อย่างเคร่งครัดในระหว่างขั้นตอนของโปรแกรมเวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์ แต่จะบังคับใช้ในอนาคต (จะประกาศแยกต่างหาก)
  • ความไม่ซ้ำกัน: แอป Chat สามารถสร้างการสมัครใช้บริการของลูกค้าได้เพียง 1 รายการสำหรับองค์กร Google Workspace หนึ่งๆ องค์กร Google Workspace มีการสมัครใช้บริการของลูกค้าได้สูงสุด 5 รายการ (สร้างโดยแอปใน Chat ที่แตกต่างกัน)
  • ขอบเขต: ต้องใช้ขอบเขตต่อไปนี้อย่างน้อย 1 รายการ ทั้งนี้ขึ้นอยู่กับประเภทเหตุการณ์ที่ต้องการรับ
    • https://www.googleapis.com/auth/chat.app.all.spaces.readonly: เพื่อรับเหตุการณ์เกี่ยวกับพื้นที่ทำงาน
    • https://www.googleapis.com/auth/chat.app.all.memberships.readonly: เพื่อรับเหตุการณ์เกี่ยวกับการเป็นสมาชิก
    • https://www.googleapis.com/auth/chat.app.all.messages.readonly: เพื่อรับเหตุการณ์เกี่ยวกับข้อความและรีแอ็กชัน
    • https://www.googleapis.com/auth/chat.app.all.users.readstate.readonly ( เวอร์ชันตัวอย่างสำหรับนักพัฒนาซอฟต์แวร์): เพื่อรับเหตุการณ์เกี่ยวกับสถานะการอ่านของผู้ใช้

สร้างการสมัครใช้บริการของลูกค้า

หากต้องการสร้างการสมัครใช้บริการของลูกค้า ให้เรียกใช้เมธอด subscriptions.create

ตัวอย่างโค้ด Python ต่อไปนี้จะสร้างการสมัครใช้บริการของลูกค้า

Python

"""Create a customer subscription."""

from google.oauth2 import service_account
from apiclient.discovery import build

# Specify required scopes.
# Replace with the scopes needed for the event types you want to receive.
SCOPES = ['https://www.googleapis.com/auth/chat.app.all.messages.readonly']

# Specify service account details.
CREDENTIALS = (
    service_account.Credentials.from_service_account_file('credentials.json')
    .with_scopes(SCOPES)
)

# Monitor all events for the Google Workspace organization.
TARGET_RESOURCE = '//admin.googleapis.com/customers/CUSTOMER_ID'

# The types of events to receive.
EVENT_TYPES = [
    'google.workspace.chat.message.v1.created',
    'google.workspace.chat.message.v1.updated',
    'google.workspace.chat.message.v1.deleted',
]

# The endpoint to deliver events to.
TOPIC = 'TOPIC_NAME'

# Call the Workspace Events API.
# Note: Use the v1beta endpoint for Developer Preview features.
service = build(
    'workspaceevents',
    'v1beta',
    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)

แทนที่ค่าต่อไปนี้

  • CUSTOMER_ID: รหัสลูกค้า นอกจากนี้ คุณยังใช้นามแฝง my_customer สำหรับองค์กร Google Workspace ของแอปใน Chat ได้ด้วย
  • TOPIC_NAME: ชื่อเต็มของหัวข้อ Pub/Sub ที่คุณสร้างในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ จัดรูปแบบเป็น projects/PROJECT_ID/topics/TOPIC_ID
  • RESOURCE_DATA: บูลีนที่ระบุว่าการสมัครใช้บริการมีข้อมูลทรัพยากรในเพย์โหลดหรือไม่
    • True: รวมข้อมูลทรัพยากรทั้งหมด หากต้องการจำกัดช่องที่รวมไว้ ให้เพิ่มช่อง fieldMask และระบุช่องอย่างน้อย 1 ช่องสำหรับทรัพยากรที่เปลี่ยนแปลง เฉพาะการสมัครใช้บริการทรัพยากร Chat เท่านั้นที่รองรับการรวมข้อมูลทรัพยากร
    • False: ไม่รวมข้อมูลทรัพยากร