Обновите или продлите подписку на Google Workspace

На этой странице объясняется, как продлить подписку на Google Workspace с помощью метода subscriptions.update() . Этот метод можно использовать для обновления срока действия подписки, включая продление подписки на максимально возможный срок действия, или для обновления списка типов событий, которые необходимо получать о целевом ресурсе.

Скрипт приложений

  • Проект скрипта приложений:
    • Используйте свой проект Google Cloud вместо проекта по умолчанию, автоматически созданного Apps Script.
    • Для любых областей, которые вы добавили для настройки экрана согласия OAuth, вам также необходимо добавить области в файл appsscript.json в проекте Apps Script. Например:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Включите расширенную службу Google Workspace Events .

Питон

  • Python 3.6 или выше
  • Инструмент управления пакетами pip
  • Новейшие клиентские библиотеки Google для Python. Чтобы установить или обновить их, выполните следующую команду в интерфейсе командной строки:
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Продлите подписку на Google Workspace

В этом разделе вы используете метод subscriptions.update() API Google Workspace Events, чтобы продлить подписку до максимального срока ее действия. Чтобы указать максимальный срок действия, вы обновляете поле ttl ресурса Subscription до 0 .

Максимальный срок действия зависит от того, какие данные ресурса включены в полезные данные события. Дополнительную информацию о сроках действия см. в разделе Данные о событиях для событий Google Workspace .

Чтобы продлить подписку на Google Workspace:

Скрипт приложений

  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.

Питон

  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('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)
    

    Замените следующее:

    • SCOPES : одна или несколько областей OAuth , поддерживающих каждый тип событий для подписки. Отформатирован как массив строк. Чтобы перечислить несколько областей, разделите их запятыми. Например, '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 update_subscription.py
    
API событий Google Workspace возвращает длительную операцию , содержащую экземпляр ресурса Subscription .

Чтобы получить подробную информацию об обновленном ресурсе Subscription , используйте метод operations.get() и укажите ресурс Operation возвращенный из вашего запроса subscriptions.update() . В противном случае, если вы укажете ресурс Operation из предыдущей версии подписки, ответ будет пустым.