Cette page explique comment réactiver un abonnement Google Workspace
suspendu en résolvant les erreurs ou en les corrigeant, et en appelant la
subscriptions.reactivate
méthode.
Les abonnements Google Workspace sont suspendus lorsqu'une erreur empêche l'abonnement de recevoir des événements. Par exemple, un abonnement est suspendu lorsque sa ressource cible ou son point de terminaison de notification est introuvable. Une fois que vous avez résolu les erreurs liées à l'abonnement, vous pouvez le réactiver pour recommencer à recevoir des événements.
Découvrez un abonnement suspendu de différentes manières :
- Votre application reçoit un événement de cycle de vie concernant la suspension. Si votre abonnement est suspendu en raison d'une erreur liée à son point de terminaison, il est possible que vous ne receviez pas d'événement de cycle de vie.
- Utilisez les méthodes
subscriptions.getousubscriptions.listpour voir si le champstatede l'abonnement est défini surSUSPENDED. - Vous recevez une notification concernant un échec de diffusion sur votre point de terminaison de notification. Pour en savoir plus sur la surveillance des échecs de diffusion vers des sujets Google Cloud Pub/Sub, consultez Gérer les échecs de messages.
Les abonnements réactivés conservent la date d'expiration d'origine. Pour prolonger la durée d'expiration d'un abonnement, consultez Mettre à jour ou renouveler un abonnement Google Workspace.
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 de consentement 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 qui prennent en charge 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 de 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 qui prennent en charge 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.
Identifier et résoudre les erreurs
Pour identifier l'erreur d'un abonnement, examinez le champ suspensionReason de l'abonnement. Vous pouvez trouver ce champ lorsque vous recevez un événement de cycle de vie
concernant la
suspension ou en utilisant
la méthode subscriptions.get pour examiner tous les champs de l'abonnement.
Le tableau suivant affiche les erreurs possibles pour un abonnement et, lorsque cela est possible, comment les résoudre. Si vous ne parvenez pas à résoudre l'erreur, vous pouvez supprimer l'abonnement, ou attendre qu'il expire. L'API Google Workspace Events supprime automatiquement les abonnements expirés.
| Erreur | Description | Solutions |
|---|---|---|
|
L'utilisateur autorisant a révoqué l'autorisation d'un ou plusieurs champs d'application OAuth requis pour l'abonnement. | Obtenez un autre jeton d'accès. Pour en savoir plus, consultez Obtenir un jeton d'accès auprès du serveur d'autorisation Google. |
|
La ressource cible de l'abonnement est supprimée. | Si la ressource est restaurée, appelez la reactivate
méthode. Sinon, aucune action n'est requise, car vous ne pouvez pas réactiver un
abonnement sans sa ressource cible d'origine. |
|
L'utilisateur autorisant n'a plus accès à la ressource de l'abonnement. | Aucune action n'est requise. Vous ne pouvez pas réactiver l'abonnement, car l'utilisateur qui l'a autorisé ne peut pas accéder à la ressource cible. |
|
L'application Google Workspace n'est pas autorisée à diffuser des événements vers votre point de terminaison de notification. | Accordez l'accès au compte de service pour l'application Google Workspace qui diffuse les événements. Comptes de service :
Pour les sujets Pub/Sub, attribuez le rôle d'éditeur Pub/Sub ( roles/pubsub.publisher)
au compte de service. |
|
Le point de terminaison de notification n'existe pas ou est introuvable. | Vérifiez que le point de terminaison est toujours actif et fonctionne. Pour résoudre les problèmes liés aux sujets Pub/Sub, consultez la documentation de dépannage. |
|
Le point de terminaison de notification n'a pas pu recevoir d'événements en raison d'un quota insuffisant ou d'une limitation du débit. | Demandez une augmentation de quota. |
|
L'administrateur de domaine a révoqué l'autorisation d'un ou plusieurs champs d'application OAuth pour l'application Chat. | Obtenez l'approbation de l'administrateur. |
|
L'application Chat qui a autorisé la création de l'abonnement n'a plus accès à la ressource cible de l'abonnement. | Récupérez l'accès à la ressource cible. Par exemple, si la ressource cible est un espace Chat, l'application Chat peut avoir besoin d'être membre de l'espace. |
Réactiver un abonnement
Une fois que vous avez résolu l'erreur qui a suspendu votre abonnement, utilisez la méthode reactivate pour que l'abonnement puisse à nouveau recevoir des événements. La méthode vérifie que toutes les erreurs sont résolues et remplace le champ state de votre abonnement par SUSPENDED à ACTIVE.
Pour réactiver un abonnement Google Workspace :
Apps Script
Dans votre projet Apps Script, créez un fichier de script nommé
reactivateSubscriptionet ajoutez le code suivant :function reactivateSubscription() { // The name of the subscription to reactivate. const name = 'subscriptions/SUBSCRIPTION_ID'; // Call the Workspace Events API using the advanced service. const response = WorkspaceEvents.Subscriptions.reactivate({}, name); console.log(response); }Remplacez les éléments suivants :
Pour réactiver l'abonnement Google Workspace, exécutez la fonction
reactivateSubscriptiondans votre projet Apps Script.
Python
Dans votre répertoire de travail, créez un fichier nommé
reactivate_subscription.pyet ajoutez le code suivant :"""Reactivate 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, ) NAME = 'subscriptions/SUBSCRIPTION_ID' response = service.subscriptions().reactivate(name=NAME).execute() print(response)Remplacez les éléments suivants :
SCOPES: un ou plusieurs champs d'application OAuth qui prennent en charge chaque type d'événement de l'abonnement. Formaté sous forme de tableau de chaînes. Pour répertorier 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: 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 réactiver l'abonnement Google Workspace, exécutez la commande suivante dans votre terminal :
python3 reactivate_subscription.py
Subscription ressource.
Si la requête échoue, consultez la section suivante pour résoudre d'autres erreurs.
Réactiver un abonnement en tant qu'application Chat
Vous pouvez réactiver 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 de l'utilisateur, 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 messages et de réactions 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 réactive l'abonnement Google Workspace d'une application Chat :
Python
"""Reactivate 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,
)
NAME = 'subscriptions/SUBSCRIPTION_ID'
response = service.subscriptions().reactivate(name=NAME).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 messages et de réactions 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: ID de l'abonnement. Pour obtenir l'ID, vous pouvez utiliser l'un des éléments suivants :
Résoudre plusieurs erreurs
Si vous avez résolu l'erreur qui a suspendu l'abonnement et que la méthode reactivate échoue, une autre erreur peut s'être produite après la suspension de votre abonnement.
Pour identifier d'autres erreurs, examinez le résultat de la requête ayant échoué. Le résultat contient toutes les erreurs qui sont toujours présentes.
Lorsque votre abonnement comporte plusieurs erreurs, la valeur du champ suspensionReason utilise toujours l'erreur d'origine qui a suspendu votre abonnement.