Google Workspace 구독 삭제하기

이 페이지에서는 subscriptions.delete() 메서드를 사용하여 Google Workspace 구독을 삭제하는 방법을 설명합니다.

구독을 삭제하면 앱에서 더 이상 이벤트를 수신하지 않습니다. 구독이 만료되면 Google Workspace Events API가 자동으로 구독을 삭제합니다.

기본 요건

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 구독 구독을 만들려면 정기 결제 만들기를 참조하세요.

  • 인증이 필요합니다.

    • 사용자 인증에는 구독의 이벤트 유형 중 하나 이상을 지원하는 범위가 필요합니다. 범위를 식별하려면 이벤트 유형별 범위를 참고하세요.
    • 앱 인증에는 chat.bot 범위가 필요합니다 (Google Chat 앱만 해당).

사용자가 승인한 구독 삭제

다음 코드 샘플은 사용자 인증을 사용하여 Subscription 리소스를 삭제합니다.

구독을 삭제하려면 다음 안내를 따르세요.

Apps Script

  1. Apps Script 프로젝트에서 deleteSubscription라는 새 스크립트 파일을 만들고 다음 코드를 추가합니다.

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

    다음을 바꿉니다.

    • SUBSCRIPTION_ID: 정기 결제의 ID입니다. ID를 가져오려면 다음 중 하나를 사용하면 됩니다.
      • uid 필드의 값입니다.
      • name 필드에 표시된 리소스 이름의 ID입니다. 예를 들어 리소스 이름이 subscriptions/subscription-123이면 subscription-123을 사용합니다.
  2. 구독을 삭제하려면 Apps Script 프로젝트에서 deleteSubscription 함수를 실행합니다.

Python

  1. 작업 디렉터리에서 delete_subscription.py라는 파일을 만들고 다음 코드를 추가합니다.

    """Delete subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = ['SCOPE']
    
    # 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().delete(name=NAME).execute()
    print(response)
    

    다음을 바꿉니다.

    • SCOPE: 구독에서 하나 이상의 이벤트 유형을 지원하는 OAuth 범위입니다. 예를 들어 정기 결제가 업데이트된 Chat 스페이스(https://www.googleapis.com/auth/chat.spaces.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. 구독을 삭제하려면 터미널에서 다음을 실행합니다.

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