Google Workspace 구독 업데이트 또는 갱신하기

이 페이지에서는 subscriptions.update() 메서드를 사용하여 Google Workspace 구독을 갱신하는 방법을 설명합니다. 이 메서드를 사용하면 가능한 최대 만료 시간으로 정기 결제를 갱신하는 것을 포함하여 정기 결제 만료 시간을 업데이트할 수 있습니다.

Apps Script

  • Apps Script 프로젝트:
    • Apps Script에서 자동으로 생성된 기본 프로젝트 대신 Google Cloud 프로젝트를 사용하세요.
    • OAuth 동의 화면을 구성하기 위해 추가한 범위의 경우 Apps Script 프로젝트의 appsscript.json 파일에도 범위를 추가해야 합니다. 예를 들면 다음과 같습니다.
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Google Workspace Events 고급 서비스를 사용 설정합니다.

Python

  • Python 3.6 이상
  • pip 패키지 관리 도구
  • 최신 Python용 Google 클라이언트 라이브러리입니다. 설치하거나 업데이트하려면 명령줄 인터페이스에서 다음 명령어를 실행하세요.
      pip3 install --upgrade google-api-python-client google-auth-oauthlib
      

Google Workspace 구독 갱신하기

이 섹션에서는 Google Workspace Events API의 subscriptions.update() 메서드를 사용하여 최대 만료 시간으로 정기 결제를 갱신합니다. 최대 만료 시간을 지정하려면 Subscription 리소스의 ttl 필드를 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: 정기 결제의 ID입니다. ID를 가져오려면 다음 중 하나를 사용하면 됩니다.
      • uid 필드의 값입니다.
      • name 필드에 표시된 리소스 이름의 ID입니다. 예를 들어 리소스 이름이 subscriptions/subscription-123이면 subscription-123을 사용합니다.
  2. Google Workspace 구독을 업데이트하려면 Apps Script 프로젝트에서 updateSubscription 함수를 실행합니다.

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('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: 정기 결제의 ID입니다. ID를 가져오려면 다음 중 하나를 사용하면 됩니다.
      • uid 필드의 값입니다.
      • name 필드에 표시된 리소스 이름의 ID입니다. 예를 들어 리소스 이름이 subscriptions/subscription-123이면 subscription-123을 사용합니다.
  2. 작업 디렉터리에 OAuth 클라이언트 ID 사용자 인증 정보를 저장하고 파일 이름을 client_secrets.json로 지정했는지 확인합니다. 코드 샘플은 이 JSON 파일을 사용하여 Google Workspace에 인증하고 사용자 인증 정보를 가져옵니다. 자세한 내용은 OAuth 클라이언트 ID 사용자 인증 정보 만들기를 참조하세요.

  3. Google Workspace 구독을 업데이트하려면 터미널에서 다음을 실행합니다.

    python3 update_subscription.py
    
Google Workspace Events API는 Subscription 리소스의 인스턴스가 포함된 장기 실행 작업을 반환합니다.

업데이트된 Subscription 리소스에 대한 세부정보를 가져오려면 operations.get() 메서드를 사용하고 subscriptions.update() 요청에서 반환된 Operation 리소스를 지정합니다. 그 외에 이전 버전의 정기 결제에서 Operation 리소스를 지정하면 응답이 비어 있습니다.