Google Workspace 구독에 관한 세부정보 보기

이 페이지에서는 subscriptions.get() 메서드를 사용하여 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 구독 정기 결제를 만들려면 정기 결제 만들기를 참고하세요.

  • 인증 필요:

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

사용자가 승인한 구독 가져오기

다음 코드 샘플은 사용자 인증을 사용하여 Subscription 리소스에 관한 세부정보를 가져옵니다. 사용자로 인증되면 이 메서드는 사용자가 앱이 생성하도록 승인한 정기 결제를 반환합니다.

사용자가 승인한 정기 결제를 가져오려면 다음 단계를 따르세요.

Apps Script

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

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

    다음을 바꿉니다.

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

Python

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

    """Get 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'
    subscription = service.subscriptions().get(name=NAME).execute()
    print(subscription)
    

    다음을 바꿉니다.

    • 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 get_subscription.py