Aktualizowanie i odnawianie subskrypcji Google Workspace

Z tego artykułu dowiesz się, jak odnowić subskrypcję Google Workspace za pomocą metody subscriptions.update(). Za pomocą tej metody możesz zaktualizować datę ważności subskrypcji, w tym ją odnowić na maksymalny możliwy czas jej wygaśnięcia.

Google Apps Script

  • Projekt Apps Script:
    • Użyj swojego projektu Google Cloud zamiast domyślnego utworzonego automatycznie przez Apps Script.
    • W przypadku wszystkich zakresów, które zostały dodane w celu skonfigurowania ekranu zgody OAuth, musisz też dodać zakresy do pliku appsscript.json w projekcie Apps Script. Na przykład:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • 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 języka Python. Aby je zainstalować lub zaktualizować, uruchom to polecenie w interfejsie wiersza poleceń:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Odnawianie abonamentu Google Workspace

W tej sekcji możesz używać metody subscriptions.update() interfejsu Google Workspace Event API, aby odnowić subskrypcję do jej maksymalnego okresu ważności. Aby określić maksymalny czas ważności, zmień wartość w polu ttl zasobu Subscription na 0.

Maksymalny czas wygaśnięcia zależy od tego, jakie dane zasobów znajdują się w ładunku zdarzenia. Więcej informacji o dacie ważności znajdziesz w artykule Dane zdarzeń ze zdarzeń 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 do niego 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 opcji:
      • Wartość pola uid.
      • Identyfikator nazwy zasobu przedstawionej w polu name. Jeśli na przykład nazwa zasobu to subscriptions/subscription-123, użyj atrybutu 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 do niego 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('client_secrets.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 protokołu OAuth, który obsługuje każdy typ zdarzenia w subskrypcji. Sformatowana 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 opcji:
      • Wartość pola uid.
      • Identyfikator nazwy zasobu przedstawionej w polu name. Jeśli na przykład nazwa zasobu to subscriptions/subscription-123, użyj atrybutu subscription-123.
  2. Sprawdź, czy w katalogu roboczym są zapisane dane logowania identyfikatora klienta OAuth i nadaj mu nazwę client_secrets.json. Przykładowy kod używa tego pliku JSON do uwierzytelniania w Google Workspace i pobierania danych logowania użytkownika. Instrukcje znajdziesz w artykule Tworzenie danych logowania identyfikatora klienta OAuth.

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

    python3 update_subscription.py
    
Interfejs Google Workspace Event 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 wskaż zasób Operation zwrócony w żądaniu subscriptions.update(). W przeciwnym razie, jeśli określisz zasób Operation z poprzedniej wersji subskrypcji, odpowiedź będzie pusta.