Observer des événements de réunion à l'aide de Python et de l'API REST Google Meet

Ce tutoriel explique comment utiliser l'API REST Google Meet, l'API Google Workspace Events et Google Cloud Pub/Sub pour observer des événements de réunion et y réagir. L'exemple d'application enregistre le début et la fin des conférences, l'heure à laquelle les participants rejoignent ou quittent la réunion, et quand les artefacts de réunion générés sont disponibles.

Pour en savoir plus sur l'utilisation des événements, consultez S'abonner aux événements Google Meet dans la documentation de l'API Google Workspace Events.

Prérequis

Si l'une de ces conditions préalables doit être activée pour votre organisation, demandez à votre administrateur Google Workspace de le faire:

Préparer votre environnement

Cette section explique comment créer et configurer votre environnement local et le projet Google Cloud pour ce tutoriel.

Créer un répertoire de travail et un environnement virtuel Python

Pour créer et activer un nouvel environnement virtuel, exécutez les commandes suivantes dans votre terminal.

Linux/macOS

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
source env/bin/activate

Windows (invite de commande)

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.bat

Windows (PowerShell)

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.ps1

Créer un projet Google Cloud

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu > IAM et administration > Créer un projet.

    Accéder à la page Créer un projet

  2. Dans le champ Nom du projet, saisissez un nom descriptif pour votre projet.

    Facultatif: Pour modifier l'ID du projet, cliquez sur Modifier. Une fois le projet créé, l'ID ne pourra plus être modifié. Par conséquent, choisissez un ID qui répond à vos besoins tout au long de la durée de vie du projet.

  3. Dans le champ Emplacement, cliquez sur Parcourir pour afficher les emplacements potentiels pour votre projet. Cliquez ensuite sur Sélectionner.
  4. Cliquez sur Créer. La console Google Cloud accède à la page "Tableau de bord", et votre projet est créé en quelques minutes.

gcloud CLI

Dans l'un des environnements de développement suivants, accédez à la Google Cloud CLI ("gcloud"):

  • Cloud Shell: pour utiliser un terminal en ligne avec la gcloud CLI configurée, activez Cloud Shell.
    Activer Cloud Shell
  • Shell locale: pour utiliser un environnement de développement local, installez et initialize la gcloud CLI.
    Pour créer un projet Cloud, utilisez la commande "gcloud projects create" :
    gcloud projects create PROJECT_ID
    Remplacez PROJECT_ID en définissant l'ID du projet que vous souhaitez créer.

Activer la facturation pour le projet Google Cloud

console Google Cloud

  1. Dans la console Google Cloud, accédez à Facturation. Cliquez sur Menu > Facturation > Mes projets.

    Accéder à la facturation de mes projets

  2. Dans Sélectionner une organisation, choisissez l'organisation associée à votre projet Google Cloud.
  3. Sur la ligne du projet, ouvrez le menu Actions (), cliquez sur Modifier la facturation, puis sélectionnez le compte de facturation Cloud.
  4. Cliquez sur Définir le compte.

gcloud CLI

  1. Pour afficher la liste des comptes de facturation disponibles, exécutez la commande suivante :
    gcloud billing accounts list
  2. Associez un compte de facturation à un projet Google Cloud :
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Remplacez les éléments suivants :

    • PROJECT_ID correspond à l'ID du projet Cloud pour lequel vous souhaitez activer la facturation.
    • BILLING_ACCOUNT_ID est l'ID du compte de facturation à associer au projet Google Cloud.

Configurer l'authentification et l'autorisation

L'authentification et l'autorisation permettent à l'application d'accéder aux ressources de l'API REST Meet. L'autorisation de l'utilisateur est requise pour appeler l'API REST Meet. Cette section explique comment configurer les identifiants utilisateur et les demandes d'autorisation.

Configurer l'écran de consentement OAuth et choisir les niveaux d'accès

Les étapes suivantes suggèrent des informations sur les espaces réservés afin de configurer l'écran de consentement OAuth pour votre application. Avant de publier l'application en externe, mettez à jour ces informations.

  1. Dans la console Google Cloud, accédez à Menu > API et services > Écran de consentement OAuth.

    Accéder à l'écran de consentement OAuth

  2. Sous Type d'utilisateur, sélectionnez Interne, puis cliquez sur Créer.
  3. Dans le champ Nom de l'application, saisissez Meet REST API Tutorial.
  4. Remplissez le formulaire d'enregistrement de l'application, puis cliquez sur Save and Continue (Enregistrer et continuer).
  5. Cliquez sur Ajouter ou supprimer des champs d'application. Un panneau s'affiche. Il contient la liste des champs d'application de chaque API que vous avez activée dans votre projet Google Cloud.
  6. Sous Ajouter manuellement des champs d'application, collez les champs d'application suivants :
    • https://www.googleapis.com/auth/meetings.space.created
  7. Cliquez sur Ajouter à la table.
  8. Cliquez sur Update (Mettre à jour).
  9. Après avoir sélectionné les champs d'application requis par votre application, cliquez sur Enregistrer et continuer.
  10. Si vous avez sélectionné le type d'utilisateur Externe, ajoutez des utilisateurs tests :
    1. Sous Utilisateurs test, cliquez sur Ajouter des utilisateurs.
    2. Saisissez votre adresse e-mail et celle de tout autre utilisateur test autorisé, puis cliquez sur Enregistrer et continuer.
  11. Consultez le résumé d'enregistrement de votre application. Pour apporter des modifications, cliquez sur Modifier. Si l'enregistrement de l'application semble correct, cliquez sur Back to Dashboard (Revenir au tableau de bord).

Créer un ID client

L'ID client sert d'identifiant pour votre application lors des flux OAuth 2.0. Étant donné que l'application s'exécute localement, créez un ID client de bureau.

  1. Dans la console Google Cloud, accédez à Menu > API et services > Identifiants.

    Accéder à "Identifiants"

  2. Cliquez sur Créer des identifiants > ID client OAuth.
  3. Cliquez sur Type d'application > Application de bureau.
  4. Dans le champ Name (Nom), saisissez un nom pour l'identifiant. Ce nom ne s'affiche que dans la console Google Cloud.
  5. Cliquez sur Créer. L'écran du client OAuth créé s'affiche, avec l'ID et le code secret du client que vous venez de créer.
  6. Cliquez sur OK. Les nouveaux identifiants s'affichent sous ID client OAuth 2.0.

Installer les bibliothèques d'authentification Google

Installez les bibliothèques d'authentification Google:

pip install google-auth google-auth-oauthlib

Exécuter l'autorisation

L'API REST Meet requiert des identifiants utilisateur sous la forme d'un jeton d'accès OAuth 2.0. Dans cette section, vous allez implémenter le flux OAuth 2.0 pour demander un jeton d'accès et un jeton d'actualisation pour l'utilisateur.

  1. Dans votre répertoire de travail, créez le fichier main.py et ajoutez le contenu suivant:

    import os
    import json
    
    from google.auth.transport import requests
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    
    def authorize() -> Credentials:
        """Ensure valid credentials for calling the Meet REST API."""
        CLIENT_SECRET_FILE = "./client_secret.json"
        credentials = None
    
        if os.path.exists('token.json'):
            credentials = Credentials.from_authorized_user_file('token.json')
    
        if credentials is None:
            flow = InstalledAppFlow.from_client_secrets_file(
                CLIENT_SECRET_FILE,
                scopes=[
                    'https://www.googleapis.com/auth/meetings.space.created',
                ])
            flow.run_local_server(port=0)
            credentials = flow.credentials
    
        if credentials and credentials.expired:
            credentials.refresh(requests.Request())
    
        if credentials is not None:
            with open("token.json", "w") as f:
                f.write(credentials.to_json())
    
        return credentials
    
    USER_CREDENTIALS = authorize()
    
  2. Pour exécuter le code, l'ID client et le secret créé précédemment sont requis. Copiez le fichier secret du client téléchargé dans le répertoire de travail du projet et renommez-le client_secret.json.

  3. Si vous souhaitez tester le fonctionnement de l'autorisation, exécutez la commande suivante. L'application demande l'autorisation et crée un fichier token.json dans le répertoire de travail du projet une fois la requête approuvée.

    python3 main.py
    

Ajouter l'API REST Meet

Maintenant que le code d'autorisation est terminé, vous pouvez activer et appeler l'API REST Meet.

Activer les API

Bien que cette section soit axée sur l'API REST Meet, ce tutoriel utilise également Google Cloud Pub/Sub et l'API Google Workspace Events.

console Google Cloud

  1. Dans la console Google Cloud, activez l'API REST Google Meet, l'API Google Workspace Events et Google Cloud Pub/Sub.

    Activer les API

  2. Vérifiez que vous activez les API dans le bon projet Cloud, puis cliquez sur Suivant.

  3. Vérifiez que vous activez les bonnes API, puis cliquez sur Activer.

gcloud CLI

  1. Si nécessaire, définissez le projet Cloud actuel sur celui que vous avez créé à l'aide de la commande gcloud config set project:

    gcloud config set project PROJECT_ID
    

    Remplacez PROJECT_ID par l'ID du projet Cloud que vous avez créé.

  2. Activez l'API REST Google Meet, l'API Google Workspace Events et Google Cloud Pub/Sub à l'aide de la commande gcloud services enable:

    gcloud services enable meet.googleapis.com workspaceevents.googleapis.com pubsub.googleapis.com
    

Installer la bibliothèque cliente de l'API REST Meet

Suivez ces étapes pour installer la bibliothèque cliente de l'API REST Meet:

  1. Exécutez la commande suivante :

    pip install google-apps-meet
    
  2. Modifiez le fichier main.py pour importer le client:

    from google.apps import meet_v2 as meet
    

Créer un espace

Maintenant que l'API REST Meet est disponible, définissez une fonction permettant de créer un espace de réunion auquel s'abonner.

Modifiez main.py et ajoutez:

def create_space() -> meet.Space:
    """Create a meeting space."""
    client = meet.SpacesServiceClient(credentials=USER_CREDENTIALS)
    request = meet.CreateSpaceRequest()
    return client.create_space(request=request)

S'abonner à des événements

Pour recevoir des événements concernant un espace de réunion, vous devez créer un abonnement à l'aide de l'API Google Workspace Events. Vous devez également créer un sujet Google Cloud Pub/Sub et vous y abonner. Il servira de point de terminaison de notification auquel votre application reçoit les événements.

Configurer Google Cloud Pub/Sub

Pour créer un sujet Pub/Sub et vous y abonner, procédez comme suit:

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu > Pub/Sub.

    Accéder à Pub/Sub

    Assurez-vous que le projet Cloud de votre application est sélectionné.

  2. Cliquez sur Créer un sujet, puis procédez comme suit :
    1. Saisissez workspace-events comme nom de sujet.
    2. Laissez l'option Ajouter un abonnement par défaut sélectionnée.
    3. Cliquez sur Créer. Le nom complet de votre sujet est au format projects/{project}/topics/{topic}. Notez ce nom, car vous en aurez besoin lors des prochaines étapes.
  3. Accordez l'accès pour publier des messages Pub/Sub dans votre sujet :
    1. Dans le panneau latéral, ouvrez l'onglet Autorisations.
    2. Cliquez sur Ajouter un compte principal.
    3. Dans Nouveaux comptes principaux, saisissez meet-api-event-push@system.gserviceaccount.com.
    4. Dans Attribuer des rôles, sélectionnez Pub/Sub Publisher.
    5. Cliquez sur Enregistrer.

    La mise à jour des autorisations de votre sujet peut prendre quelques minutes.

gcloud CLI

  1. Dans votre projet Cloud, créez un sujet en exécutant la commande suivante :
    gcloud pubsub topics create workspace-events

    Le résultat affiche le nom complet du sujet, au format projects/{project}/topics/{topic}. Notez ce nom, car vous en aurez besoin lors des prochaines étapes.

  2. Autorisez l'accès pour publier des messages dans votre sujet :
     gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:meet-api-event-push@system.gserviceaccount.com' --role='roles/pubsub.publisher'

    La mise à jour des autorisations de votre sujet peut prendre quelques minutes.

  3. Créez un abonnement Pub/Sub pour le sujet
    gcloud pubsub subscriptions create workspace-events-sub --topic=TOPIC_NAME
    .

    Remplacez les éléments suivants :

    • TOPIC_NAME: nom du sujet que vous avez créé à l'étape précédente.

Notez le nom du sujet et assurez-vous que la valeur de {project} correspond à l'ID du projet Cloud de votre application. Vous utiliserez le nom du sujet pour créer l'abonnement Google Workspace ultérieurement.

Créer un compte de service

console Google Cloud

  1. Dans la console Google Cloud, accédez à Menu > IAM et administration > Comptes de service.

    Accéder à la page "Comptes de service"

  2. Cliquez sur Create service account (Créer un compte de service).
  3. Renseignez les détails du compte de service, puis cliquez sur Créer et continuer.
  4. (Facultatif) Attribuez des rôles à votre compte de service pour accorder l'accès aux ressources de votre projet Google Cloud. Pour en savoir plus, consultez Accorder, modifier et révoquer les accès à des ressources.
  5. Cliquez sur Continuer.
  6. Facultatif: Indiquez les utilisateurs ou les groupes autorisés à gérer et à effectuer des actions avec ce compte de service. Pour en savoir plus, consultez Gérer l'emprunt d'identité d'un compte de service.
  7. Cliquez sur OK. Notez l'adresse e-mail du compte de service.

gcloud CLI

  1. Créez le compte de service :
    gcloud iam service-accounts create meet-event-listener \
      --display-name="meet-event-listener"
  2. (Facultatif) Attribuez des rôles à votre compte de service pour accorder l'accès aux ressources de votre projet Google Cloud. Pour en savoir plus, consultez Accorder, modifier et révoquer les accès à des ressources.

Utiliser le compte de service

Après avoir créé le compte de service, accordez-vous un accès pour emprunter son identité.

console Google Cloud

  1. Dans la colonne Actions du compte de service que vous venez de créer, cliquez sur > Gérer les autorisations.
  2. Cliquez sur Ajouter une clé > Accorder l'accès.
  3. Saisissez votre adresse e-mail sous Ajouter des comptes principaux.
  4. Sélectionnez Comptes de service > Créateur de jetons du compte de service comme rôle.
  5. Cliquez sur Enregistrer.

gcloud CLI

  1. Pour ajouter l'autorisation, exécutez gcloud iam service-accounts add-iam-policy-binding avec l'adresse e-mail du compte de service et l'utilisateur.
    gcloud iam service-accounts add-iam-policy-binding \
      SERVICE_ACCOUNT_EMAIL \
      --member="user:YOUR_EMAIL \
      --role="roles/iam.serviceAccountTokenCreator"
  2. Connectez-vous avec gcloud pour définir les identifiants par défaut de l'application sur le compte de service. Lorsque vous êtes invité à accorder une autorisation, connectez-vous avec le compte utilisé lors des étapes précédentes.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

Installer la bibliothèque cliente Pub/Sub

  1. Utilisez pip afin d'installer la bibliothèque cliente pour Pub/Sub:

    pip install google-cloud-pubsub
    
  2. Ensuite, modifiez main.py pour importer le client:

    from google.cloud import pubsub_v1
    

Créer l'abonnement Google Workspace

Ajoutez le code suivant à main.py pour définir une méthode d'abonnement aux événements Meet. Ce code s'abonne à tous les événements d'un espace de réunion. Une fois abonné, les événements sont publiés dans le sujet Pub/Sub.

def subscribe_to_space(space_name: str = None, topic_name: str = None):
    """Subscribe to events for a meeting space."""
    session = requests.AuthorizedSession(USER_CREDENTIALS)
    body = {
        'targetResource': f"//meet.googleapis.com/{space_name}",
        "eventTypes": [
            "google.workspace.meet.conference.v2.started",
            "google.workspace.meet.conference.v2.ended",
            "google.workspace.meet.participant.v2.joined",
            "google.workspace.meet.participant.v2.left",
            "google.workspace.meet.recording.v2.fileGenerated",
            "google.workspace.meet.transcript.v2.fileGenerated",
        ],
        "payloadOptions": {
            "includeResource": False,
        },
        "notificationEndpoint": {
            "pubsubTopic": topic_name
        },
        "ttl": "86400s",
    }
    response = session.post("https://workspaceevents.googleapis.com/v1/subscriptions", json=body)
    return response

Ajoutez ensuite le code correspondant pour extraire et traiter les événements.

Écouter et gérer des événements

Continuez à modifier main.py et ajoutez l'exemple de code suivant. Ce code met en œuvre le côté récepteur et utilise l'API Google Cloud Pub/Sub pour extraire les événements à mesure qu'ils sont disponibles. Les différentes méthodes de gestionnaire impriment des informations sur les événements correspondants.

def format_participant(participant: meet.Participant) -> str:
    """Formats a participant for display on the console."""
    if participant.anonymous_user:
        return f"{participant.anonymous_user.display_name} (Anonymous)"

    if participant.signedin_user:
        return f"{participant.signedin_user.display_name} (ID: {participant.signedin_user.user})"

    if participant.phone_user:
        return f"{participant.phone_user.display_name} (Phone)"

    return "Unknown participant"


def fetch_participant_from_session(session_name: str) -> meet.Participant:
    """Fetches the participant for a session."""
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    # Use the parent path of the session to fetch the participant details
    parsed_session_path = client.parse_participant_session_path(session_name)
    participant_resource_name = client.participant_path(
        parsed_session_path["conference_record"],
        parsed_session_path["participant"])
    return client.get_participant(name=participant_resource_name)


def on_conference_started(message: pubsub_v1.subscriber.message.Message):
    """Display information about a conference when started."""
    payload = json.loads(message.data)
    resource_name = payload.get("conferenceRecord").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    conference = client.get_conference_record(name=resource_name)
    print(f"Conference (ID {conference.name}) started at {conference.start_time.rfc3339()}")


def on_conference_ended(message: pubsub_v1.subscriber.message.Message):
    """Display information about a conference when ended."""
    payload = json.loads(message.data)
    resource_name = payload.get("conferenceRecord").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    conference = client.get_conference_record(name=resource_name)
    print(f"Conference (ID {conference.name}) ended at {conference.end_time.rfc3339()}")


def on_participant_joined(message: pubsub_v1.subscriber.message.Message):
    """Display information about a participant when they join a meeting."""
    payload = json.loads(message.data)
    resource_name = payload.get("participantSession").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    session = client.get_participant_session(name=resource_name)
    participant = fetch_participant_from_session(resource_name)
    display_name = format_participant(participant)
    print(f"{display_name} joined at {session.start_time.rfc3339()}")


def on_participant_left(message: pubsub_v1.subscriber.message.Message):
    """Display information about a participant when they leave a meeting."""
    payload = json.loads(message.data)
    resource_name = payload.get("participantSession").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    session = client.get_participant_session(name=resource_name)
    participant = fetch_participant_from_session(resource_name)
    display_name = format_participant(participant)
    print(f"{display_name} left at {session.end_time.rfc3339()}")


def on_recording_ready(message: pubsub_v1.subscriber.message.Message):
    """Display information about a recorded meeting when artifact is ready."""
    payload = json.loads(message.data)
    resource_name = payload.get("recording").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    recording = client.get_recording(name=resource_name)
    print(f"Recording available at {recording.drive_destination.export_uri}")


def on_transcript_ready(message: pubsub_v1.subscriber.message.Message):
    """Display information about a meeting transcript when artifact is ready."""
    payload = json.loads(message.data)
    resource_name = payload.get("transcript").get("name")
    client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
    transcript = client.get_transcript(name=resource_name)
    print(f"Transcript available at {transcript.docs_destination.export_uri}")


def on_message(message: pubsub_v1.subscriber.message.Message) -> None:
    """Handles an incoming event from the Google Cloud Pub/Sub API."""
    event_type = message.attributes.get("ce-type")
    handler = {
        "google.workspace.meet.conference.v2.started": on_conference_started,
        "google.workspace.meet.conference.v2.ended": on_conference_ended,
        "google.workspace.meet.participant.v2.joined": on_participant_joined,
        "google.workspace.meet.participant.v2.left": on_participant_left,
        "google.workspace.meet.recording.v2.fileGenerated": on_recording_ready,
        "google.workspace.meet.transcript.v2.fileGenerated": on_transcript_ready,
    }.get(event_type)

    try:
        if handler is not None:
            handler(message)
        message.ack()
    except Exception as error:
        print("Unable to process event")
        print(error)


def listen_for_events(subscription_name: str = None):
    """Subscribe to events on the subscription."""
    subscriber = pubsub_v1.SubscriberClient()
    with subscriber:
        future = subscriber.subscribe(subscription_name, callback=on_message)
        print("Listening for events")
        try:
            future.result()
        except KeyboardInterrupt:
            future.cancel()
    print("Done")

Finaliser le code

Ajoutez le code suivant à main.py pour appeler les méthodes permettant de créer l'espace, de vous abonner à des événements et d'écouter. Mettez à jour les constantes TOPIC_NAME et SUBSCRIPTION_NAME avec les noms de sujet et d'abonnement que vous avez créés précédemment.

  1. Ajoutez le code à main.py:

    space = create_space()
    print(f"Join the meeting at {space.meeting_uri}")
    
    TOPIC_NAME = "projects/PROJECT_ID/topics/TOPIC_ID"
    SUBSCRIPTION_NAME = "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
    
    subscription = subscribe_to_space(topic_name=TOPIC_NAME, space_name=space.name)
    listen_for_events(subscription_name=SUBSCRIPTION_NAME)
    

    Remplacez les éléments suivants :

    • PROJECT_ID: ID de projet Cloud unique pour votre application, par exemple my-sample-project-191923.

    • TOPIC_ID: nom du sujet Pub/Sub que vous avez créé dans votre projet Cloud.

    • SUBSCRIPTION_ID: nom de votre abonnement, tel que workspace-events-sub.

  2. Exécutez le programme:

    python3 main.py
    

Si vous n'avez pas encore exécuté le programme, il vous invite à demander une autorisation pour la première fois. Autorisez l'application à appeler l'API REST Meet. Une fois le programme exécuté, un résultat semblable à celui-ci doit s'afficher:

Join the meeting at https://meet.google.com/abc-mnop-xyz

Rejoindre la conférence

Pour générer des événements pour l'application, rejoignez la conférence à l'aide de l'URL affichée par l'application. Une fois l'opération terminée, vous pouvez effectuer les actions suivantes pour déclencher des événements:

  • Quittez la réunion et rejoignez-la à nouveau.
  • Invitez d'autres personnes ou participez à la réunion par téléphone.
  • Activez les enregistrements et les transcriptions.

Chacune de ces activités génère un événement que l'application reçoit et consigne dans la console Google Cloud.

Utilisez ctrl-c pour interrompre le programme lorsque vous avez terminé.

Étapes supplémentaires à essayer (facultatif)

L'application enregistre des informations de base sur les événements. Pour continuer à explorer l'API REST Meet, essayez de modifier l'application afin d'effectuer ces actions supplémentaires.

  • Utilisez l'API People pour récupérer des informations supplémentaires sur les participants connectés.
  • Utilisez l'API Google Drive pour télécharger les enregistrements et les transcriptions.
  • Au lieu de télécharger les transcriptions depuis Google Drive, récupérez-les à l'aide des méthodes de transcription structurée de l'API REST Meet.

Facultatif : Effectuer un nettoyage

Pour éviter que les ressources utilisées dans ce tutoriel soient facturées sur votre compte de la console Google Cloud, nous vous recommandons de nettoyer les ressources et les projets créés.

Pour supprimer l'abonnement:

Console

  1. Dans la console Google Cloud, accédez à Menu > Pub/Sub > Abonnements

    Accéder aux abonnements

  2. Sélectionnez l'abonnement, puis cliquez sur Autres actions.

  3. Cliquez sur Supprimer. La fenêtre Supprimer l'abonnement s'affiche.

  4. Cliquez sur Supprimer.

gcloud CLI

  1. Supprimez l'abonnement:

    gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
    

Pour supprimer le sujet:

Console

  1. Dans la console Google Cloud, accédez à Menu > Pub/Sub > Sujets.

    Accéder aux sujets

  2. Sélectionnez le sujet, puis cliquez sur Autres actions.

  3. Cliquez sur Supprimer. La fenêtre Supprimer le sujet s'affiche.

  4. Saisissez delete, puis cliquez sur Supprimer.

gcloud CLI

  1. Supprimez le sujet:

    gcloud pubsub topics delete TOPIC_NAME
    

Pour supprimer le projet :

Console

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources. Cliquez sur Menu > IAM et administration > Gérer les ressources.

    Accéder à Resource Manager

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer .
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

gcloud CLI

  1. Pour supprimer un projet, utilisez la commande gcloud projects delete:

    gcloud projects delete PROJECT_ID