Aktualizowanie i odnawianie subskrypcji Google Workspace

Z tej strony dowiesz się, jak odnowić subskrypcję Google Workspace za pomocą metody subscriptions.update(). Za pomocą tej metody możesz zaktualizować czas wygaśnięcia subskrypcji, w tym odnowić ją na maksymalny możliwy czas wygaśnięcia, lub zaktualizować listę typów zdarzeń, które mają być odbierane w przypadku zasobu docelowego.

Google Apps Script

  • Projekt Apps Script:
    • Użyj projektu Google Cloud zamiast domyślnego projektu utworzonego automatycznie przez Apps Script.
    • Wszystkie zakresy dodane w celu skonfigurowania ekranu akceptacji OAuth musisz też dodać do pliku appsscript.json w projekcie Apps Script. Jeśli na przykład określisz zakres chat.messages, dodaj te informacje:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages"
      ]
          
    • Włącz usługę zaawansowaną Google Workspace Events.

Python

  • Python 3.6 lub nowszy
  • Narzędzie do zarządzania pakietami pip
  • Najnowsze biblioteki klienta Google dla Pythona. Aby je zainstalować lub zaktualizować, w interfejsie wiersza poleceń uruchom to polecenie:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Odnowienie subskrypcji Google Workspace

W tej sekcji użyjesz metody subscriptions.update() interfejsu Google Workspace Events API, aby odnowić subskrypcję do maksymalnego czasu wygaśnięcia. Aby określić maksymalny czas wygaśnięcia, zaktualizuj pole ttl zasobu Subscription na 0.

Maksymalny czas wygaśnięcia zależy od tego, jakie dane zasobu są zawarte w ładunku zdarzenia. Więcej informacji o czasach wygaśnięcia znajdziesz w artykule Dane o zdarzeniach dotyczących Google Workspace.

Aby odnowić subskrypcję Google Workspace:

Google Apps Script

  1. W projekcie Apps Script utwórz nowy plik skryptu o nazwie updateSubscription i dodaj ten kod:

    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);
    }
    

    Zastąp następujące elementy:

    • SUBSCRIPTION_ID: Identyfikator subskrypcji. Aby uzyskać identyfikator, możesz użyć dowolnej z tych metod:
      • Wartość pola uid.
      • Identyfikator nazwy zasobu reprezentowany w polu name. Jeśli na przykład nazwa zasobu to subscriptions/subscription-123, użyj subscription-123.
  2. Aby zaktualizować subskrypcję Google Workspace, uruchom funkcjęupdateSubscription w projekcie Apps Script.

Python

  1. W katalogu roboczym utwórz plik o nazwie update_subscription.py i dodaj ten kod:

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

    Zastąp następujące elementy:

    • SCOPES: co najmniej 1 zakres OAuth, który obsługuje każdy typ zdarzenia w przypadku subskrypcji. Sformatowane jako tablica ciągów tekstowych. Aby podać kilka zakresów, rozdziel je przecinkami. Na przykład: 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.
    • SUBSCRIPTION_ID: Identyfikator subskrypcji. Aby uzyskać identyfikator, możesz użyć dowolnej z tych metod:
      • Wartość pola uid.
      • Identyfikator nazwy zasobu reprezentowany w polu name. Jeśli na przykład nazwa zasobu to subscriptions/subscription-123, użyj subscription-123.
  2. W katalogu roboczym sprawdź, czy masz zapisane dane uwierzytelniające identyfikatora klienta OAuth i czy plik ma nazwę credentials.json. Przykładowy kod używa tego pliku JSON do uwierzytelniania w Google Workspace i uzyskiwania danych logowania użytkownika. Instrukcje znajdziesz w artykule Tworzenie danych uwierzytelniających identyfikatora klienta OAuth.

  3. Aby zaktualizować subskrypcję Google Workspace, uruchom w terminalu to polecenie:

    python3 update_subscription.py
Interfejs Google Workspace Events API zwraca długo trwającą operację, która zawiera instancję zasobu Subscription.

Aby uzyskać szczegółowe informacje o zaktualizowanym zasobie Subscription, użyj metody operations.get() i określ zasób Operation zwrócony w odpowiedzi na żądanie subscriptions.update(). W przeciwnym razie, jeśli określisz zasób Operation z poprzedniej wersji subskrypcji, odpowiedź będzie pusta.