อัปเดตหรือต่ออายุการสมัครใช้บริการ Google Workspace

หน้านี้อธิบายวิธีต่ออายุการสมัครใช้บริการ Google Workspace โดยใช้ วิธี subscriptions.update() ใช้วิธีนี้เพื่ออัปเดตเวลาหมดอายุของการสมัครใช้บริการ ซึ่งรวมถึงการต่ออายุการสมัครใช้บริการเป็นเวลาหมดอายุสูงสุดที่เป็นไปได้ หรือเพื่ออัปเดตรายการประเภทเหตุการณ์ที่จะรับเกี่ยวกับทรัพยากรเป้าหมาย

Apps Script

  • โปรเจ็กต์ Apps Script
    • ใช้โปรเจ็กต์ Google Cloud แทนโปรเจ็กต์เริ่มต้นที่ 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 Workspace

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

เวลาหมดอายุสูงสุดจะขึ้นอยู่กับข้อมูลทรัพยากรที่รวมอยู่ในเพย์โหลดของเหตุการณ์ ดูข้อมูลเพิ่มเติมเกี่ยวกับเวลาหมดอายุได้ที่ข้อมูลเหตุการณ์สำหรับ เหตุการณ์ Google Workspace

วิธีต่ออายุการสมัครใช้บริการ Google Workspace

Apps Script

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

    function updateSubscription() {
      // The name of the subscription to update.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.patch({
        ttl: '0s',
      }, name);
      console.log(response);
    }
    

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

    • SUBSCRIPTION_ID: รหัสของการสมัครใช้บริการ หากต้องการรับรหัส คุณสามารถใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
      • ค่าของ uid ช่อง
      • รหัสของชื่อทรัพยากรที่แสดงในช่อง name เช่น หากชื่อทรัพยากรคือ subscriptions/subscription-123 ให้ใช้ subscription-123
  2. หากต้องการอัปเดตการสมัครใช้บริการ Google Workspace ให้เรียกใช้ฟังก์ชัน updateSubscription ในโปรเจ็กต์ Apps Script

Python

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

    """Update 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()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
      )
    
    BODY = {
        'ttl': {'seconds': 0},
    }
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = (
        service.subscriptions()
        .patch(name=NAME, updateMask='ttl', body=BODY)
        .execute()
    )
    print(response)
    

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

    • SCOPES: ขอบเขต OAuth อย่างน้อย 1 ขอบเขตที่รองรับเหตุการณ์แต่ละประเภท สำหรับการสมัครใช้บริการ จัดรูปแบบเป็นอาร์เรย์ของสตริง หากต้องการแสดงขอบเขตหลายรายการ ให้คั่นด้วยคอมมา เช่น 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
    • SUBSCRIPTION_ID: รหัสของการสมัครใช้บริการ หากต้องการรับรหัส คุณสามารถใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้
      • ค่าของ uid ช่อง
      • รหัสของชื่อทรัพยากรที่แสดงในช่อง name เช่น หากชื่อทรัพยากรคือ subscriptions/subscription-123 ให้ใช้ subscription-123
  2. ตรวจสอบว่าคุณได้จัดเก็บข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth ไว้ในไดเรกทอรีงานและตั้งชื่อไฟล์ว่า credentials.json ตัวอย่างโค้ดใช้ไฟล์ JSON นี้เพื่อตรวจสอบสิทธิ์กับ Google Workspace และรับข้อมูลเข้าสู่ระบบของผู้ใช้ ดูวิธีการได้ที่ ดู สร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth credentials

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

    python3 update_subscription.py
Google Workspace Events API จะแสดงผลการดำเนินการที่ใช้เวลานานซึ่งมีอินสแตนซ์ของทรัพยากร Subscription

หากต้องการดูรายละเอียดเกี่ยวกับทรัพยากร Subscription ที่อัปเดตแล้ว ให้ใช้วิธี operations.get() และระบุทรัพยากร Operation ที่แสดงผลจากคำขอ subscriptions.update() หรือหากคุณระบุทรัพยากร Operation จากการสมัครใช้บริการเวอร์ชันก่อนหน้า การตอบกลับจะเป็นค่าว่าง

อัปเดตหรือต่ออายุการสมัครใช้บริการในฐานะแอป Google Chat

คุณสามารถอัปเดตหรือต่ออายุการสมัครใช้บริการเหตุการณ์ Chat ในฐานะแอปใน 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

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

ตัวอย่างโค้ดต่อไปนี้จะอัปเดตการสมัครใช้บริการ Google Workspace ของแอปใน Chat

Python

  """Update subscription."""

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

  # Specify required scopes.
  SCOPES = [SCOPES]

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

  # Call the Workspace Events API using the service endpoint.
  service = build(
      'workspaceevents',
      'v1beta',
      credentials=CREDENTIALS,
  )

  BODY = {
      'ttl': {'seconds': 0},
  }
  NAME = 'subscriptions/SUBSCRIPTION_ID'
  response = (
      service.subscriptions()
      .patch(name=NAME, updateMask='ttl', body=BODY)
      .execute()
  )
  print(response)

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

  • SCOPES: ระบุขอบเขตการให้สิทธิ์ที่อนุญาตให้แอปใน 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
  • SUBSCRIPTION_ID: รหัสของการสมัครใช้บริการ หากต้องการรับรหัส คุณสามารถใช้ตัวเลือกใดตัวเลือกหนึ่งต่อไปนี้

    • ค่าของ uid ช่อง
    • รหัสของชื่อทรัพยากรที่แสดงในช่อง name เช่น หากชื่อทรัพยากรคือ subscriptions/subscription-123 ให้ใช้ subscription-123