Cette page explique comment lister les abonnements Google Workspace à l'aide de la
subscriptions.list()
méthode.
Lorsque vous appelez cette méthode avec l'authentification de l'utilisateur, elle renvoie une liste des abonnements autorisés par l'utilisateur. Lorsque vous utilisez l'authentification de l'application, la méthode peut renvoyer une liste contenant n'importe quel abonnement pour l'application.
Prérequis
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 toutes les autorisations que vous avez ajoutées pour configurer l'écran d'autorisation OAuth, vous devez également les ajouter au
fichier
appsscript.jsonde votre projet Apps Script. Par exemple, si vous avez spécifié l'autorisationchat.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 une autorisation appropriée pour chaque type d'événement de l'abonnement :
- Pour l'authentification de l'utilisateur, nécessite une autorisation qui accepte au moins l'un des types d'événements de l'abonnement. Pour identifier une autorisation, consultez Autorisations par type d'événement.
- Pour l'authentification de l'application, nécessite l'autorisation
chat.bot(applications Google Chat uniquement).
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 une autorisation appropriée pour chaque type d'événement de l'abonnement :
- Pour l'authentification de l'utilisateur, nécessite une autorisation qui accepte au moins l'un des types d'événements de l'abonnement. Pour identifier une autorisation, consultez Autorisations par type d'événement.
- Pour l'authentification de l'application, nécessite l'autorisation
chat.bot(applications Google Chat uniquement).
Lister les abonnements autorisés par un utilisateur
Pour lister les abonnements, vous devez filtrer par au moins un type d'événement. Vous pouvez également filtrer votre requête par une ou plusieurs ressources cibles. Pour en savoir plus sur les filtres de requête compatibles, consultez la documentation de la méthode list().
L'exemple de code suivant renvoie un tableau d'
Subscription objets
filtrés par type d'événement et ressource cible. Lorsqu'elle est authentifiée en tant qu'utilisateur, la méthode ne renvoie qu'une liste des abonnements que l'utilisateur a autorisé l'application à créer.
Pour lister les abonnements d'un type d'événement et d'une ressource cible spécifiés :
Apps Script
Dans votre projet Apps Script, créez un fichier de script nommé
listSubscriptionset ajoutez le code suivant :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); }Remplacez les éléments suivants :
EVENT_TYPE: type d'événement formaté conformément à la spécification CloudEvents. Par exemple, pour filtrer les abonnements qui reçoivent des événements concernant les nouvelles adhésions à un espace Chat,google.workspace.chat.message.v1.created.TARGET_RESOURCE: une ressource cible, formatée comme son nom de ressource complet. Par exemple, pour filtrer par abonnements pour un espace Chat, utilisez//chat.googleapis.com/spaces/SPACE_IDoùspaces/SPACE_IDreprésente le champnamede la ressourceSpace.
Pour lister les abonnements, exécutez la fonction
listSubscriptionsdans votre projet Apps Script.
Python
Dans votre répertoire de travail, créez un fichier nommé
list_subscriptions.pyet ajoutez le code suivant :"""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)Remplacez les éléments suivants :
SCOPE: autorisation OAuth qui accepte au moins un type d'événement de l'abonnement. Par exemple, si votre abonnement reçoit des événements concernant un espace Chat mis à jour,https://www.googleapis.com/auth/chat.spaces.readonly.EVENT_TYPE: type d'événement formaté conformément à la spécification CloudEvents. Par exemple, pour filtrer les abonnements qui reçoivent des événements concernant les nouvelles adhésions à un espace Chat,google.workspace.chat.message.v1.created.TARGET_RESOURCE: une ressource cible, formatée comme son nom de ressource complet. Par exemple, pour filtrer par abonnements pour un espace Chat, utilisez//chat.googleapis.com/spaces/SPACE_IDoùspaces/SPACE_IDreprésente le champnamede la ressourceSpace.
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 lister les abonnements, exécutez la commande suivante dans votre terminal :
python3 list_subscriptions.py
L'API Google Workspace Events renvoie un tableau paginé d'Subscription
objets
qui correspondent au filtre de votre requête.