Na tej stronie dowiesz się, jak wyświetlać listę subskrypcji Google Workspace za pomocą metody
subscriptions.list().
Gdy wywołasz tę metodę z uwierzytelnianiem użytkownika, zwróci ona listę subskrypcji autoryzowanych przez użytkownika. Gdy używasz uwierzytelniania aplikacji, metoda może zwrócić listę zawierającą dowolną subskrypcję aplikacji.
Wymagania wstępne
Google Apps Script
- subskrypcję Google Workspace; Aby ją utworzyć, zapoznaj się z artykułem Tworzenie subskrypcji.
- Projekt Apps Script:- Użyj projektu Google Cloud zamiast domyślnego projektu utworzonego automatycznie przez Apps Script.
- Wszystkie zakresy dodane w celu skonfigurowania ekranu akceptacji OAuth musisz też dodać do pliku appsscript.jsonw projekcie Apps Script. Jeśli na przykład określisz zakreschat.messages, dodaj te informacje:
- Włącz usługę zaawansowaną Google Workspace Events.
 "oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ] 
- Wymaga uwierzytelniania i odpowiedniego zakresu autoryzacji dla każdego typu zdarzenia w subskrypcji: - W przypadku uwierzytelniania użytkownika wymagany jest zakres, który obsługuje co najmniej 1 typ zdarzenia w przypadku subskrypcji. Aby określić zakres, zobacz Zakresy według typu zdarzenia.
- W przypadku uwierzytelniania aplikacji wymagany jest zakres chat.bot(tylko w przypadku aplikacji Google Chat).
 
Python
- Python 3.6 lub nowszy
- Narzędzie do zarządzania pakietami pip
- Najnowsze biblioteki klienta Google dla Pythona. Aby je zainstalować lub zaktualizować, w interfejsie wiersza poleceń uruchom to polecenie:
  pip3 install --upgrade google-api-python-client google-auth-oauthlib 
- subskrypcję Google Workspace; Aby ją utworzyć, zapoznaj się z artykułem Tworzenie subskrypcji.
- Wymaga uwierzytelniania i odpowiedniego zakresu autoryzacji dla każdego typu zdarzenia w subskrypcji: - W przypadku uwierzytelniania użytkownika wymagany jest zakres, który obsługuje co najmniej 1 typ zdarzenia w przypadku subskrypcji. Aby określić zakres, zobacz Zakresy według typu zdarzenia.
- W przypadku uwierzytelniania aplikacji wymagany jest zakres chat.bot(tylko w przypadku aplikacji Google Chat).
 
Wyświetlanie listy subskrypcji autoryzowanych przez użytkownika
Aby wyświetlić listę subskrypcji, musisz filtrować według co najmniej 1 typu zdarzenia. Możesz też filtrować zapytanie według co najmniej jednego zasobu docelowego. Więcej informacji o obsługiwanych filtrach zapytań znajdziesz w dokumentacji metody list().
Poniższy przykład kodu zwraca tablicę obiektów Subscription
filtrowanych według typu zdarzenia i zasobu docelowego. Gdy użytkownik jest uwierzytelniony, ta metoda zwraca tylko listę subskrypcji, na których utworzenie użytkownik zezwolił aplikacji.
Aby wyświetlić listę subskrypcji dla określonego typu zdarzenia i zasobu docelowego:
Google Apps Script
- W projekcie Apps Script utwórz nowy plik skryptu o nazwie - listSubscriptionsi dodaj ten kod:- function listSubscriptions() { // Filter for event type (required). const eventType = 'EVENT_TYPE'; // Filter for target resource (optional). const targetResource = 'TARGET_RESOURCE'; const filter = `event_types:"${eventType}" AND target_resource="${targetResource}"` // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.list({ filter }); console.log(response); }- Zastąp następujące elementy: - EVENT_TYPE: typ zdarzenia sformatowany zgodnie ze specyfikacją CloudEvents. Na przykład, aby odfiltrować subskrypcje, które otrzymują zdarzenia dotyczące nowych członków pokoju w Google Chat,- google.workspace.chat.message.v1.created.
- TARGET_RESOURCE: zasób docelowy w formacie pełnej nazwy zasobu. Aby na przykład filtrować subskrypcje w przestrzeni Google Chat, użyj- //chat.googleapis.com/spaces/SPACE_ID, gdzie- spaces/SPACE_IDreprezentuje pole- namezasobu- Space.
 
- Aby wyświetlić listę subskrypcji, uruchom funkcję - listSubscriptionsw projekcie Apps Script.
Python
- W katalogu roboczym utwórz plik o nazwie - list_subscriptions.pyi dodaj ten kod:- """List subscriptions.""" 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('credentials.json', SCOPES) CREDENTIALS = flow.run_local_server() # Call the Workspace Events API using the service endpoint. service = build( 'workspaceevents', 'v1', credentials=CREDENTIALS, ) # Filter for event type (required). EVENT_TYPE = 'EVENT_TYPE' # Filter for target resource (optional). TARGET_RESOURCE = 'TARGET_RESOURCE' FILTER = f'event_types:"{EVENT_TYPE}" AND target_resource="{TARGET_RESOURCE}"' response = service.subscriptions().list(filter=FILTER).execute() print(response)- Zastąp następujące elementy: - SCOPE: Zakres OAuth, który obsługuje co najmniej 1 typ zdarzenia z subskrypcji. Jeśli na przykład subskrypcja otrzymuje zdarzenia z zaktualizowanego pokoju w Chat,- https://www.googleapis.com/auth/chat.spaces.readonly.
- EVENT_TYPE: typ zdarzenia sformatowany zgodnie ze specyfikacją CloudEvents. Na przykład, aby odfiltrować subskrypcje, które otrzymują zdarzenia dotyczące nowych członków pokoju w Google Chat,- google.workspace.chat.message.v1.created.
- TARGET_RESOURCE: zasób docelowy w formacie pełnej nazwy zasobu. Aby na przykład filtrować subskrypcje w przestrzeni Google Chat, użyj- //chat.googleapis.com/spaces/SPACE_ID, gdzie- spaces/SPACE_IDreprezentuje pole- namezasobu- Space.
 
- W katalogu roboczym sprawdź, czy masz zapisane dane uwierzytelniające identyfikatora klienta OAuth i czy plik ma nazwę - credentials.json. Przykładowy kod używa tego pliku JSON do uwierzytelniania w Google Workspace i uzyskiwania danych logowania użytkownika. Instrukcje znajdziesz w artykule Tworzenie danych uwierzytelniających identyfikatora klienta OAuth.
- Aby wyświetlić listę subskrypcji, uruchom w terminalu to polecenie: - python3 list_subscriptions.py
Interfejs Google Workspace Events API zwraca stronicowaną tablicę Subscriptionobiektów, które pasują do filtra w zapytaniu.