Z tego artykułu dowiesz się, jak uzyskać szczegółowe informacje o subskrypcji Google Workspace za pomocą metody subscriptions.get()
.
Gdy wywołujesz tę metodę z uwierzytelnianiem użytkownika, zwraca ona szczegóły subskrypcji autoryzowanej przez użytkownika. Jeśli korzystasz z uwierzytelniania aplikacji, może ona zwrócić szczegółowe informacje o dowolnej subskrypcji aplikacji.
Wymagania wstępne
Google Apps Script
- abonament Google Workspace. Aby je utworzyć, zapoznaj się z informacjami o tworzeniu subskrypcji.
Wymaga uwierzytelniania użytkownika z co najmniej jednym zakresem obsługującym wszystkie typy zdarzeń w ramach subskrypcji.
- Projekt Apps Script:
- Użyj swojego projektu Google Cloud zamiast domyślnego utworzonego automatycznie przez Apps Script.
- W przypadku wszystkich zakresów, które zostały dodane w celu skonfigurowania ekranu zgody OAuth, musisz też dodać zakresy do pliku
appsscript.json
w projekcie Apps Script. Na przykład:
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
- Włącz usługę zaawansowaną
Google Workspace Events
.
Python
- Python 3.6 lub nowszy
- Narzędzie do zarządzania pakietami pip
- Najnowsze biblioteki klienta Google dla języka Python. Aby je zainstalować lub zaktualizować, uruchom to polecenie w interfejsie wiersza poleceń:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- abonament Google Workspace. Aby je utworzyć, zapoznaj się z informacjami o tworzeniu subskrypcji.
Wymaga uwierzytelniania:
- W przypadku uwierzytelniania użytkowników wymagany jest zakres, który obsługuje co najmniej 1 typ zdarzeń w ramach subskrypcji. Informacje o zakresie zakresu znajdziesz w sekcji Zakresy według typu zdarzenia.
- Do uwierzytelniania aplikacji wymagany jest zakres
chat.bot
(tylko aplikacje Google Chat).
Uzyskanie subskrypcji autoryzowanej przez użytkownika
Poniższy przykładowy kod zawiera szczegółowe informacje o zasobie Subscription
korzystającym z uwierzytelniania użytkownika. Po uwierzytelnieniu użytkownika jako użytkownika metoda zwraca subskrypcję, do utworzenia której aplikacja autoryzował użytkownik.
Aby uzyskać subskrypcję autoryzowaną przez użytkownika:
Google Apps Script
W projekcie Apps Script utwórz nowy plik skryptu o nazwie
getSubscription
i dodaj do niego ten kod: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); }
Zastąp następujące elementy:
Aby uzyskać subskrypcję, uruchom funkcję
getSubscription
w projekcie Apps Script.
Python
W katalogu roboczym utwórz plik o nazwie
get_subscription.py
i dodaj do niego ten kod:"""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)
Zastąp następujące elementy:
SCOPE
: zakres protokołu OAuth, który obsługuje co najmniej 1 typ zdarzenia z subskrypcji. Jeśli na przykład Twoja subskrypcja odbiera zdarzenia ze zaktualizowanego pokoju czatu,https://www.googleapis.com/auth/chat.spaces.readonly
.SUBSCRIPTION_ID
: identyfikator subskrypcji. Aby uzyskać identyfikator, możesz użyć dowolnej z tych opcji:
Sprawdź, czy w katalogu roboczym są zapisane dane logowania identyfikatora klienta OAuth i nadaj mu nazwę
client_secrets.json
. Przykładowy kod używa tego pliku JSON do uwierzytelniania w Google Workspace i pobierania danych logowania użytkownika. Instrukcje znajdziesz w artykule Tworzenie danych logowania identyfikatora klienta OAuth.Aby uzyskać subskrypcję, uruchom w terminalu to polecenie:
python3 get_subscription.py