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

หน้านี้จะอธิบายวิธีแสดงรายการการสมัครใช้บริการ Google Workspace โดยใช้เมธอด subscriptions.list()

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

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

Apps Script

  • โปรเจ็กต์ 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 Workspace หากต้องการสร้างการสมัครใช้บริการ โปรดดูหัวข้อสร้างการสมัครใช้บริการ

  • ต้องมีการตรวจสอบสิทธิ์ในกรณีต่อไปนี้

    • สำหรับการตรวจสอบสิทธิ์ผู้ใช้ ต้องมีขอบเขตที่รองรับประเภทเหตุการณ์อย่างน้อย 1 ประเภทสำหรับการสมัครใช้บริการ หากต้องการระบุขอบเขต โปรดดูขอบเขตตามประเภทเหตุการณ์
    • สำหรับการตรวจสอบสิทธิ์แอป ต้องใช้ขอบเขต chat.bot (แอป Google Chat เท่านั้น)

แสดงรายการการสมัครใช้บริการที่ได้รับอนุญาตจากผู้ใช้

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

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

วิธีแสดงรายการการสมัครใช้บริการสําหรับประเภทเหตุการณ์และทรัพยากรเป้าหมายที่ระบุ

Apps Script

  1. ในโปรเจ็กต์ Apps Script ให้สร้างไฟล์สคริปต์ใหม่ชื่อ listSubscriptions และเพิ่มโค้ดต่อไปนี้

    function listSubscriptions() {
      // Filter for event type (required).
      const eventType = 'EVENT_TYPE';
    
      // Filter for target resource (optional).
      const targetResource = 'TARGET_RESOURCE';
    
      const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"`
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.list({ filter });
      console.log(response);
    }
    

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

    • EVENT_TYPE: ประเภทเหตุการณ์ที่มีการจัดรูปแบบตามข้อกำหนดของ CloudEvents เช่น หากต้องการกรองหาการสมัครใช้บริการที่ได้รับกิจกรรมเกี่ยวกับการเป็นสมาชิกใหม่ในพื้นที่ใน Google Chat google.workspace.chat.message.v1.created
    • TARGET_RESOURCE: ทรัพยากรเป้าหมายที่มีการจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการกรองตามการสมัครใช้บริการพื้นที่ใน Google Chat ให้ใช้ //chat.googleapis.com/spaces/SPACE_ID โดยที่ spaces/SPACE_ID แทนช่อง name สำหรับทรัพยากร Space
  2. หากต้องการแสดงรายการการสมัครใช้บริการ ให้เรียกใช้ฟังก์ชัน listSubscriptions ในโปรเจ็กต์ Apps Script

Python

  1. ในไดเรกทอรีการทำงาน ให้สร้างไฟล์ชื่อ list_subscriptions.py และเพิ่มโค้ดต่อไปนี้

    """List subscriptions."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    # Filter for event type (required).
    EVENT_TYPE = 'EVENT_TYPE'
    
    # Filter for target resource (optional).
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"'
    response = service.subscriptions().list(filter=FILTER).execute()
    print(response)
    

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

    • SCOPE: ขอบเขต OAuth ที่รองรับเหตุการณ์อย่างน้อย 1 ประเภทจากการสมัครใช้บริการ เช่น หากการสมัครใช้บริการได้รับกิจกรรม ในพื้นที่ใน Chat ที่อัปเดตแล้ว https://www.googleapis.com/auth/chat.spaces.readonly
    • EVENT_TYPE: ประเภทเหตุการณ์ที่มีการจัดรูปแบบตามข้อกำหนดของ CloudEvents เช่น หากต้องการกรองหาการสมัครใช้บริการที่ได้รับกิจกรรมเกี่ยวกับการเป็นสมาชิกใหม่ในพื้นที่ใน Google Chat google.workspace.chat.message.v1.created
    • TARGET_RESOURCE: ทรัพยากรเป้าหมายที่มีการจัดรูปแบบเป็นชื่อทรัพยากรแบบเต็ม เช่น หากต้องการกรองตามการสมัครใช้บริการพื้นที่ใน Google Chat ให้ใช้ //chat.googleapis.com/spaces/SPACE_ID โดยที่ spaces/SPACE_ID แทนช่อง name สำหรับทรัพยากร Space
  2. ในไดเรกทอรีที่ทำงาน ให้ตรวจสอบว่าคุณได้เก็บข้อมูลเข้าสู่ระบบของรหัสไคลเอ็นต์ OAuth และตั้งชื่อไฟล์เป็น client_secrets.json แล้ว ตัวอย่างโค้ดจะใช้ไฟล์ JSON นี้เพื่อตรวจสอบสิทธิ์กับ Google Workspace และรับข้อมูลเข้าสู่ระบบของผู้ใช้ โปรดดูวิธีการที่หัวข้อสร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth

  3. หากต้องการแสดงรายการการสมัครใช้บริการ ให้เรียกใช้รายการต่อไปนี้ในเทอร์มินัล

    python3 list_subscriptions.py
    

Google Workspace Event API จะแสดงผลอาร์เรย์ที่มีเลขหน้าของออบเจ็กต์ Subscription รายการที่ตรงกับตัวกรองสำหรับการค้นหาของคุณ