แก้ไขข้อผิดพลาดและเปิดใช้งานการสมัครใช้บริการ Google Workspace อีกครั้ง

หน้านี้อธิบายวิธีเปิดใช้งานการสมัครใช้บริการ Google Workspace ที่ถูกระงับอีกครั้งโดยการแก้ไขหรือแก้ปัญหาข้อผิดพลาดและเรียกใช้เมธอด subscriptions.reactivate()

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

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

  • แอปของคุณได้รับเหตุการณ์ในวงจร เกี่ยวกับการระงับ หากการสมัครใช้บริการถูกระงับเนื่องจากเกิดข้อผิดพลาดเกี่ยวกับปลายทาง คุณอาจไม่ได้รับเหตุการณ์ตลอดอายุการใช้งาน
  • คุณใช้เมธอด subscriptions.get() หรือ subscriptions.list() เพื่อดูว่าช่อง state ของการสมัครใช้บริการตั้งค่าเป็น SUSPENDED หรือไม่
  • คุณจะได้รับการแจ้งเตือนเกี่ยวกับการนำส่งไปยังปลายทางการแจ้งเตือนไม่สำเร็จ ดูข้อมูลเกี่ยวกับการตรวจสอบการนำส่งไปยังหัวข้อ Google Cloud Pub/Sub ได้ที่จัดการความล้มเหลวของข้อความ

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

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
      

ระบุและแก้ไขข้อผิดพลาด

หากต้องการระบุข้อผิดพลาดสำหรับการสมัครใช้บริการ ให้ตรวจสอบช่อง suspensionReason ของการสมัครใช้บริการ คุณค้นหาช่องนี้ได้เมื่อได้รับเหตุการณ์เกี่ยวกับการระงับการใช้งาน หรือโดยใช้เมธอด subscriptions.get() เพื่อตรวจสอบช่องทั้งหมดสำหรับการสมัครใช้บริการ

ตารางต่อไปนี้แสดงข้อผิดพลาดที่อาจเกิดขึ้นกับการสมัครใช้บริการและวิธีแก้ไขข้อผิดพลาดเมื่อเป็นไปได้ หากไม่สามารถแก้ไขข้อผิดพลาดได้ คุณสามารถลบการสมัครใช้บริการหรือรอให้การสมัครใช้บริการหมดอายุ Google Workspace Events API จะลบการสมัครใช้บริการ ที่หมดอายุโดยอัตโนมัติ

ข้อผิดพลาด คำอธิบาย วิธีแก้ไข

USER_SCOPE_REVOKED

ผู้ใช้ที่มีสิทธิ์ได้เพิกถอนการให้สิทธิ์ขอบเขต OAuth อย่างน้อย 1 รายการที่จำเป็นสำหรับการสมัครใช้บริการ รับโทเค็นเพื่อการเข้าถึงอื่น โปรดดูรายละเอียดที่ รับโทเค็นเพื่อการเข้าถึงจากเซิร์ฟเวอร์การให้สิทธิ์ของ Google

RESOURCE_DELETED

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

USER_AUTHORIZATION_FAILURE

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

ENDPOINT_PERMISSION_DENIED

แอปพลิเคชัน Google Workspace ไม่มีสิทธิ์ส่งเหตุการณ์ไปยังปลายทางการแจ้งเตือน มอบสิทธิ์เข้าถึงบัญชีบริการสำหรับแอปพลิเคชัน Google Workspace ที่ส่งเหตุการณ์

สำหรับกิจกรรมใน Google Chat บัญชีบริการคือ chat-api-push@system.gserviceaccount.com สำหรับกิจกรรมใน Google Meet บัญชีบริการคือ meet-api-event-push@system.gserviceaccount.com

สำหรับหัวข้อ Pub/Sub ให้มอบบทบาทผู้เผยแพร่ Pub/Sub (roles/pubsub.publisher) ให้กับบัญชีบริการ)

ENDPOINT_NOT_FOUND

ไม่มีปลายทางการแจ้งเตือนหรือไม่พบปลายทางของการแจ้งเตือน ตรวจสอบว่าปลายทางยังทำงานอยู่และใช้งานได้ หากต้องการแก้ปัญหาหัวข้อ Pub/Sub โปรดดูเอกสารการแก้ปัญหา

ENDPOINT_RESOURCE_EXHAUSTED

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

เปิดใช้งานการสมัครใช้บริการอีกครั้ง

หลังจากแก้ไขข้อผิดพลาดที่ทำให้การสมัครใช้บริการถูกระงับแล้ว คุณจะใช้เมธอด reactivate() เพื่ออนุญาตให้การสมัครใช้บริการได้รับกิจกรรมอีกครั้ง วิธีการนี้จะตรวจสอบว่าข้อผิดพลาดทั้งหมดได้รับการแก้ไขแล้ว และเปลี่ยนช่อง state ของการสมัครใช้บริการจาก SUSPENDED เป็น ACTIVE

วิธีเปิดใช้งานการสมัครใช้บริการ Google Workspace อีกครั้ง

Apps Script

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

    function reactivateSubscription() {
      // The name of the subscription to reactivate.
      const name = 'subscriptions/SUBSCRIPTION_ID';
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.reactivate({}, name);
      console.log(response);
    }
    

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

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

Python

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

    """Reactivate 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()
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    NAME = 'subscriptions/SUBSCRIPTION_ID'
    response = service.subscriptions().reactivate(name=NAME).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 และตั้งชื่อไฟล์เป็น client_secrets.json แล้ว ตัวอย่างโค้ดจะใช้ไฟล์ JSON นี้เพื่อตรวจสอบสิทธิ์กับ Google Workspace และรับข้อมูลเข้าสู่ระบบของผู้ใช้ โปรดดูวิธีการที่หัวข้อสร้างข้อมูลเข้าสู่ระบบรหัสไคลเอ็นต์ OAuth

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

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

หากคำขอล้มเหลว โปรดดูส่วนต่อไปนี้เพื่อแก้ปัญหาข้อผิดพลาดเพิ่มเติม

แก้ปัญหาข้อผิดพลาดหลายรายการ

หากคุณแก้ไขข้อผิดพลาดที่ระงับการสมัครใช้บริการและใช้วิธีการ reactivate() ไม่สำเร็จ ก็อาจเกิดข้อผิดพลาดอื่นขึ้นหลังจากการสมัครใช้บริการถูกระงับ

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

เมื่อการสมัครใช้บริการมีข้อผิดพลาดหลายรายการ ค่าสำหรับช่อง suspensionReason จะใช้ข้อผิดพลาดเดิมที่ระงับการสมัครใช้บริการของคุณเสมอ