Cette page explique comment renouveler un abonnement Google Workspace à l'aide de
la
subscriptions.update()
méthode. Utilisez cette méthode pour mettre à jour la date d'expiration d'un abonnement, y compris pour le renouveler pour la durée maximale possible, ou pour mettre à jour la liste des types d'événements à recevoir concernant la ressource cible.
Apps Script
- Un abonnement Google Workspace. Pour en créer un, consultez Créer un abonnement.
- Un projet Apps Script :
- Utilisez votre projet Google Cloud au lieu de celui créé automatiquement par Apps Script.
- Pour tous les champs d'application que vous avez ajoutés pour configurer l'écran d'autorisation OAuth, vous devez également ajouter les
champs d'application au fichier
appsscript.jsonde votre projet Apps Script. Par exemple, si vous avez spécifié le champ d'applicationchat.messages, ajoutez les éléments suivants : - Activez
le
Google Workspace Eventsservice avancé.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages" ]
Nécessite une authentification et un champ d'application d'autorisation approprié pour chaque type d'événement de l'abonnement :
- Pour l'authentification des utilisateurs, nécessite un ou plusieurs champs d'application compatibles avec au moins l'un des types d'événements de l'abonnement. Pour identifier un champ d'application, consultez Champs d'application par type d'événement.
- Pour s'abonner à un événement Chat en tant qu'application Chat, nécessite une authentification de l'application avec une approbation unique de l'administrateur.
Python
- Python 3.6 ou version ultérieure
- L'outil de gestion des packages pip
- Les dernières bibliothèques clientes Google pour Python. Pour les installer ou les mettre à jour, exécutez la commande suivante
dans votre interface de ligne de commande :
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Un abonnement Google Workspace. Pour en créer un, consultez Créer un abonnement.
Nécessite une authentification et un champ d'application d'autorisation approprié pour chaque type d'événement de l'abonnement :
- Pour l'authentification des utilisateurs, nécessite un ou plusieurs champs d'application compatibles avec au moins l'un des types d'événements de l'abonnement. Pour identifier un champ d'application, consultez Champs d'application par type d'événement.
- Pour s'abonner à un événement Chat en tant qu'application Chat, nécessite une authentification de l'application avec une approbation unique de l'administrateur.
Renouveler un abonnement Google Workspace
Dans cette section, utilisez la méthode subscriptions.update() de l'API Google Workspace Events pour renouveler un abonnement jusqu'à sa date d'expiration maximale. Pour spécifier la date d'expiration maximale, mettez à jour le ttl
champ de la
Subscription ressource
sur 0.
La date d'expiration maximale dépend des données de ressource incluses dans la charge utile de l'événement. Pour en savoir plus sur les dates d'expiration, consultez Données d'événement pour les événements Google Workspace.
Pour renouveler un abonnement Google Workspace :
Apps Script
Dans votre projet Apps Script, créez un fichier de script nommé
updateSubscriptionet ajoutez le code suivant :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); }Remplacez les éléments suivants :
Pour mettre à jour l'abonnement Google Workspace, exécutez la fonction
updateSubscriptiondans votre projet Apps Script.
Python
Dans votre répertoire de travail, créez un fichier nommé
update_subscription.pyet ajoutez le code suivant :"""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)Remplacez les éléments suivants :
SCOPES: un ou plusieurs champs d'application OAuth compatibles avec chaque type d'événement de l'abonnement. Formaté sous forme de tableau de chaînes. Pour lister plusieurs champs d'application, séparez-les par des virgules. Par exemple,'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'.SUBSCRIPTION_ID: l'ID de l'abonnement. Pour obtenir l'ID, vous pouvez utiliser l'un des éléments suivants :
Dans votre répertoire de travail, assurez-vous d'avoir stocké vos identifiants d'ID client OAuth et nommé le fichier
credentials.json. L'exemple de code utilise ce fichier JSON pour s'authentifier auprès de Google Workspace et obtenir les identifiants de l'utilisateur. Pour obtenir des instructions, consultez Créer des identifiants d'ID client OAuth credentials.Pour mettre à jour l'abonnement Google Workspace, exécutez la commande suivante dans votre terminal :
python3 update_subscription.py
Subscription ressource.
Pour obtenir des informations sur la ressource Subscription mise à jour, utilisez la
operations.get() méthode
et spécifiez la ressource Operation renvoyée par votre subscriptions.update()
requête. Sinon, si vous spécifiez une ressource Operation à partir d'une version précédente de l'abonnement, la réponse est vide.
Mettre à jour ou renouveler un abonnement en tant qu'application Google Chat
Vous pouvez mettre à jour ou renouveler un abonnement aux événements Chat en tant qu'application Chat plutôt qu'en tant qu'utilisateur. Le processus est similaire, sauf que :
Au lieu de l'authentification des utilisateurs, authentifiez-vous en tant qu'application Chat avec une approbation unique de l'administrateur.
Spécifiez les champs d'application d'autorisation qui permettent à l'application Chat de s'abonner aux événements Chat. Ces champs d'application d'autorisation commencent toujours par
chat.appet incluent les éléments suivants :https://www.googleapis.com/auth/chat.app.memberships: s'abonner aux événements des membres de l'espace Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: s'abonner aux événements des membres de l'espace Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: s'abonner aux événements de message de l'espace Chat.https://www.googleapis.com/auth/chat.app.spaces: s'abonner aux événements de l'espace Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: s'abonner aux événements de l'espace Chat.
Écrire un script qui appelle l'API Google Workspace Events
L'exemple de code suivant met à jour l'abonnement Google Workspace d'une application Chat :
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,
)
BODY = {
'ttl': {'seconds': 0},
}
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = (
service.subscriptions()
.patch(name=NAME, updateMask='ttl', body=BODY)
.execute()
)
print(response)
Remplacez les éléments suivants :
SCOPES: spécifiez les champs d'application d'autorisation qui permettent à l'application Chat de s'abonner aux événements Chat. Ces champs d'application d'autorisation commencent toujours parchat.appet incluent les éléments suivants :https://www.googleapis.com/auth/chat.app.memberships: s'abonner aux événements des membres de l'espace Chat.https://www.googleapis.com/auth/chat.app.memberships.readonly: s'abonner aux événements des membres de l'espace Chat.https://www.googleapis.com/auth/chat.app.messages.readonly: s'abonner aux événements de message et de réaction de l'espace Chat.https://www.googleapis.com/auth/chat.app.spaces: s'abonner aux événements de l'espace Chat.https://www.googleapis.com/auth/chat.app.spaces.readonly: s'abonner aux événements de l'espace Chat.
SUBSCRIPTION_ID: l'ID de l'abonnement. Pour obtenir l'ID, vous pouvez utiliser l'un des éléments suivants :