이 페이지에서는 subscriptions.update()
메서드를 사용하여 Google Workspace 구독을 갱신하는 방법을 설명합니다. 이 메서드를 사용하여 구독의 만료 시간을 업데이트할 수 있습니다. 여기에는 가능한 최대 만료 시간으로 구독을 갱신하거나 타겟 리소스에 관해 수신할 이벤트 유형 목록을 업데이트하는 것이 포함됩니다.
Apps Script
- Google Workspace 구독 정기 결제를 만들려면 정기 결제 만들기를 참고하세요.
- Apps Script 프로젝트:
- Apps Script에서 자동으로 생성된 기본 프로젝트 대신 Google Cloud 프로젝트를 사용합니다.
- OAuth 동의 화면을 구성하기 위해 추가한 모든 범위에 대해 Apps Script 프로젝트의
appsscript.json
파일에도 범위를 추가해야 합니다. 예를 들어chat.messages
범위를 지정한 경우 다음을 추가합니다. Google Workspace Events
고급 서비스를 사용 설정합니다.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
인증과 구독의 각 이벤트 유형에 적합한 승인 범위가 필요합니다.
- 사용자 인증의 경우 정기 결제의 이벤트 유형을 하나 이상 지원하는 범위가 하나 이상 필요합니다. 범위를 확인하려면 이벤트 유형별 범위를 참고하세요.
- 채팅 앱으로 채팅 이벤트를 구독하려면 일회성 관리자 승인을 통한 앱 인증이 필요합니다. 채팅 앱으로 Chat 이벤트를 구독하는 기능은 개발자 프리뷰에서 사용할 수 있습니다.
Python
- Python 3.6 이상
- pip 패키지 관리 도구
- 최신 Python용 Google 클라이언트 라이브러리 이를 설치하거나 업데이트하려면 명령줄 인터페이스에서 다음 명령어를 실행하세요.
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Google Workspace 구독 정기 결제를 만들려면 정기 결제 만들기를 참고하세요.
인증과 구독의 각 이벤트 유형에 적합한 승인 범위가 필요합니다.
- 사용자 인증의 경우 정기 결제의 이벤트 유형을 하나 이상 지원하는 범위가 하나 이상 필요합니다. 범위를 확인하려면 이벤트 유형별 범위를 참고하세요.
- 채팅 앱으로 채팅 이벤트를 구독하려면 일회성 관리자 승인을 통한 앱 인증이 필요합니다. 채팅 앱으로 Chat 이벤트를 구독하는 기능은 개발자 프리뷰에서 사용할 수 있습니다.
Google Workspace 구독 갱신하기
이 섹션에서는 Google Workspace Events API의 subscriptions.update()
메서드를 사용하여 구독을 최대 만료 시간으로 갱신합니다. 최대 만료 시간을 지정하려면 Subscription
리소스의 ttl
필드를 0
로 업데이트합니다.
최대 만료 시간은 이벤트 페이로드에 포함된 리소스 데이터에 따라 다릅니다. 만료 시간에 대해 자세히 알아보려면 Google Workspace 이벤트의 이벤트 데이터를 참고하세요.
Google Workspace 구독을 갱신하려면 다음 단계를 따르세요.
Apps Script
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); }
다음을 바꿉니다.
Google Workspace 구독을 업데이트하려면 Apps Script 프로젝트에서
updateSubscription
함수를 실행하세요.
Python
작업 디렉터리에
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('credentials.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를 가져오려면 다음 중 하나를 사용하세요.
작업 디렉터리에 OAuth 클라이언트 ID 사용자 인증 정보를 저장하고 파일 이름을
credentials.json
로 지정했는지 확인합니다. 코드 샘플은 이 JSON 파일을 사용하여 Google Workspace에서 인증하고 사용자 인증 정보를 가져옵니다. 자세한 내용은 OAuth 클라이언트 ID 사용자 인증 정보 만들기를 참고하세요.Google Workspace 구독을 업데이트하려면 터미널에서 다음을 실행합니다.
python3 update_subscription.py
Subscription
리소스의 인스턴스를 포함하는 장기 실행 작업을 반환합니다.
업데이트된 Subscription
리소스에 관한 세부정보를 가져오려면 operations.get()
메서드를 사용하고 subscriptions.update()
요청에서 반환된 Operation
리소스를 지정합니다. 그렇지 않고 이전 버전의 정기 결제에서 Operation
리소스를 지정하면 응답이 비어 있습니다.
Google Chat 앱으로 구독 업데이트 또는 갱신
사용자가 아닌 Chat 앱으로 Chat 이벤트의 구독을 업데이트하거나 갱신할 수 있습니다. 다음과 같은 점을 제외하고 프로세스는 유사합니다.
사용자 인증 대신 일회성 관리자 승인으로 Chat 앱으로 인증합니다.
Chat 앱이 Chat 이벤트를 구독할 수 있도록 허용하는 승인 범위를 지정합니다. 이러한 승인 범위는 항상
chat.app
로 시작하며 다음을 포함합니다.https://www.googleapis.com/auth/chat.app.memberships
: Chat 스페이스 회원 이벤트를 구독합니다.https://www.googleapis.com/auth/chat.app.messages.readonly
: Chat 스페이스 메시지 이벤트를 구독합니다.https://www.googleapis.com/auth/chat.app.spaces
: Chat 스페이스 이벤트를 구독합니다.
API 키 만들기
개발자 미리보기 API 메서드를 호출하려면 공개되지 않은 개발자 미리보기 버전의 API 검색 문서를 사용해야 합니다. 요청을 인증하려면 API 키를 전달해야 합니다.
API 키를 만들려면 앱의 Google Cloud 프로젝트를 열고 다음 단계를 따르세요.
- Google Cloud 콘솔에서 메뉴 > API 및 서비스 > 사용자 인증 정보로 이동합니다.
- 사용자 인증 정보 만들기 > API 키를 클릭합니다.
- 새 API 키가 표시됩니다.
- 복사 를 클릭하여 앱의 코드에서 사용할 API 키를 복사합니다. API 키는 프로젝트 사용자 인증 정보의 'API 키' 섹션에서도 확인할 수 있습니다.
- 무단 사용을 방지하려면 API 키를 사용할 수 있는 위치와 API를 제한하는 것이 좋습니다. 자세한 내용은 API 제한사항 추가를 참고하세요.
Google Workspace Events API를 호출하는 스크립트 작성
다음 코드 샘플은 Chat 앱의 Google Workspace 구독을 업데이트합니다.
Python
"""Update subscription."""
from google.oauth2 import service_account
from apiclient.discovery import build
# Specify required scopes.
SCOPES = [SCOPES]
# Specify service account details.
CREDENTIALS = (
service_account.Credentials.from_service_account_file('credentials.json')
.with_scopes(SCOPES)
)
# Call the Workspace Events API using the service endpoint.
service = build(
'workspaceevents',
'v1beta',
credentials=CREDENTIALS,
discoveryServiceUrl='https://workspaceevents.googleapis.com/$discovery/rest?version=v1beta&labels=DEVELOPER_PREVIEW&key=API_KEY',
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
다음을 바꿉니다.
SCOPES
: Chat 앱이 Chat 이벤트를 구독할 수 있도록 허용하는 승인 범위를 지정합니다. 이러한 승인 범위는 항상chat.app
로 시작하며 다음을 포함합니다.https://www.googleapis.com/auth/chat.app.memberships
: Chat 스페이스 회원 이벤트를 구독합니다.https://www.googleapis.com/auth/chat.app.messages.readonly
: Chat 스페이스 메시지 및 반응 이벤트를 구독합니다.https://www.googleapis.com/auth/chat.app.spaces
: Chat 스페이스 이벤트를 구독합니다.
API_KEY
: Google Workspace Events API의 서비스 엔드포인트를 빌드하기 위해 만든 API 키입니다.SUBSCRIPTION_ID
: 정기 결제의 ID입니다. ID를 가져오려면 다음 중 하나를 사용하면 됩니다.