Z tej strony dowiesz się, jak odnowić subskrypcję Google Workspace za pomocą metody
subscriptions.update()
. Za pomocą tej metody możesz zaktualizować czas wygaśnięcia subskrypcji, w tym odnowić ją na maksymalny możliwy czas wygaśnięcia, lub zaktualizować listę typów zdarzeń, które mają być odbierane w przypadku zasobu docelowego.
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.json
w 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 wymaga co najmniej jednego zakresu, który obsługuje co najmniej 1 rodzaj zdarzenia w subskrypcji. Aby określić zakres, zobacz Zakresy według typu zdarzenia.
- Subskrybowanie zdarzenia w Google Chat jako aplikacja Google Chat wymaga uwierzytelnienia aplikacji z jednorazowym zatwierdzeniem przez administratora. Subskrybowanie zdarzenia w Google Chat jako aplikacja Google Chat jest dostępne w wersji przedpremierowej dla programistów.
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 wymaga co najmniej jednego zakresu, który obsługuje co najmniej 1 rodzaj zdarzenia w subskrypcji. Aby określić zakres, zobacz Zakresy według typu zdarzenia.
- Subskrybowanie zdarzenia w Google Chat jako aplikacja Google Chat wymaga uwierzytelnienia aplikacji z jednorazowym zatwierdzeniem przez administratora. Subskrybowanie zdarzenia w Google Chat jako aplikacja Google Chat jest dostępne w wersji przedpremierowej dla programistów.
Odnowienie subskrypcji Google Workspace
W tej sekcji użyjesz metody subscriptions.update()
interfejsu Google Workspace Events API, aby odnowić subskrypcję do maksymalnego czasu wygaśnięcia. Aby określić maksymalny czas wygaśnięcia, zaktualizuj pole ttl
zasobu Subscription
na 0
.
Maksymalny czas wygaśnięcia zależy od tego, jakie dane zasobu są zawarte w ładunku zdarzenia. Więcej informacji o czasach wygaśnięcia znajdziesz w artykule Dane o zdarzeniach dotyczących Google Workspace.
Aby odnowić subskrypcję Google Workspace:
Google Apps Script
W projekcie Apps Script utwórz nowy plik skryptu o nazwie
updateSubscription
i dodaj ten kod: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); }
Zastąp następujące elementy:
Aby zaktualizować subskrypcję Google Workspace, uruchom funkcję
updateSubscription
w projekcie Apps Script.
Python
W katalogu roboczym utwórz plik o nazwie
update_subscription.py
i dodaj ten kod:"""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)
Zastąp następujące elementy:
SCOPES
: co najmniej 1 zakres OAuth, który obsługuje każdy typ zdarzenia w przypadku subskrypcji. Sformatowane jako tablica ciągów tekstowych. Aby podać kilka zakresów, rozdziel je przecinkami. Na przykład:'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
.SUBSCRIPTION_ID
: Identyfikator subskrypcji. Aby uzyskać identyfikator, możesz użyć dowolnej z tych metod:
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 zaktualizować subskrypcję Google Workspace, uruchom w terminalu to polecenie:
python3 update_subscription.py
Subscription
.
Aby uzyskać szczegółowe informacje o zaktualizowanym zasobie Subscription
, użyj metody operations.get()
i określ zasób Operation
zwrócony w odpowiedzi na żądanie subscriptions.update()
. W przeciwnym razie, jeśli określisz zasób Operation
z poprzedniej wersji subskrypcji, odpowiedź będzie pusta.
Aktualizowanie lub odnawianie subskrypcji jako aplikacji Google Chat
Możesz zaktualizować lub odnowić subskrypcję wydarzeń w Google Chat jako aplikacja Google Chat, a nie jako użytkownik. Proces jest podobny, z tą różnicą, że:
Zamiast uwierzytelniania użytkownika uwierzytelnij się jako aplikacja Chat za pomocą jednorazowej zgody administratora.
Określ zakresy autoryzacji, które umożliwiają aplikacji Google Chat subskrybowanie zdarzeń w Google Chat. Zakresy autoryzacji zawsze zaczynają się od
chat.app
i obejmują:https://www.googleapis.com/auth/chat.app.memberships
: subskrybuj zdarzenia dotyczące użytkowników pokoju czatu.https://www.googleapis.com/auth/chat.app.messages.readonly
: subskrybuj zdarzenia wiadomości w pokoju czatu.https://www.googleapis.com/auth/chat.app.spaces
: subskrybuj wydarzenia w pokoju czatu.
Tworzenie klucza interfejsu API
Aby wywołać metodę interfejsu API wersji przedpremierowej dla programistów, musisz użyć niepublicznej wersji przedpremierowej dokumentu wykrywania interfejsu API. Aby uwierzytelnić żądanie, musisz przekazać klucz interfejsu API.
Aby utworzyć klucz interfejsu API, otwórz projekt Google Cloud swojej aplikacji i wykonaj te czynności:
- W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Dane logowania.
- Kliknij Utwórz dane logowania > Klucz interfejsu API.
- Wyświetli się nowy klucz interfejsu API.
- Kliknij Kopiuj , aby skopiować klucz interfejsu API do użycia w kodzie aplikacji. Klucz interfejsu API można też znaleźć w sekcji „Klucze interfejsu API” w danych logowania projektu.
- Aby można było zapobiec nieautoryzowanemu użyciu, zalecamy ograniczenie miejsc i interfejsów API, w których można używać klucza API. Więcej informacji znajdziesz w sekcji Dodawanie ograniczeń interfejsu API.
Napisz skrypt, który wywołuje interfejs Google Workspace Events API
Poniższy przykładowy kod aktualizuje subskrypcję Google Workspace aplikacji do czatu:
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)
Zastąp następujące elementy:
SCOPES
: określ zakresy autoryzacji, które umożliwiają aplikacji do obsługi czatu subskrybowanie zdarzeń w Google Chat. Zakresy autoryzacji zawsze zaczynają się odchat.app
i obejmują:https://www.googleapis.com/auth/chat.app.memberships
: subskrybuj zdarzenia dotyczące użytkowników pokoju czatu.https://www.googleapis.com/auth/chat.app.messages.readonly
: subskrybuj zdarzenia związane z wiadomościami i reakcjami w pokoju na czacie.https://www.googleapis.com/auth/chat.app.spaces
: subskrybuj wydarzenia w pokoju czatu.
API_KEY
: klucz API utworzony na potrzeby budowania punktu końcowego usługi dla interfejsu Google Workspace Events API.SUBSCRIPTION_ID
: Identyfikator subskrypcji. Aby uzyskać identyfikator, możesz użyć dowolnego z tych narzędzi: