Certaines méthodes de l'API Conversational Agents (Dialogflow CX) renvoient une opération de longue durée. Ces méthodes sont asynchrones, et l'opération risque de ne pas être terminée lorsque la méthode renverra une réponse. Vous pouvez vérifier l'état, attendre la fin ou annuler des opérations.
Attendre la fin d'une opération
L'exemple suivant montre comment attendre la fin d'une opération.
Pour interroger l'état d'une opération, appelez la méthode get
pour la ressource Operations
.
Une fois l'opération terminée, le champ done
est défini sur "true".
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- REGION_ID : votre ID de région
- PROJECT_ID: ID de votre Google Cloud projet
- OPERATION_ID : ID d'opération
Méthode HTTP et URL :
GET https://REGION_ID -dialogflow.googleapis.com/v3/projects/PROJECT_ID /locations/REGION_ID /operations/OPERATION_ID
Pour envoyer votre requête, développez l'une des options suivantes :
curl (Linux, macOS ou Cloud Shell)
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project:PROJECT_ID " \
"https://REGION_ID -dialogflow.googleapis.com/v3/projects/PROJECT_ID /locations/REGION_ID /operations/OPERATION_ID "
PowerShell (Windows)
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID " }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://REGION_ID -dialogflow.googleapis.com/v3/projects/PROJECT_ID /locations/REGION_ID /operations/OPERATION_ID " | Select-Object -Expand Content
Vous devriez recevoir une réponse JSON de ce type :
{ "name": "projects/PROJECT_ID /locations/REGION_ID /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.dialogflow.v3.SomeOperationType", "state": "DONE" }, "done": true, ... }
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Pour vous authentifier auprès de Dialogflow, configurez les Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.