Conversational Agents (Dialogflow CX) API 的某些方法会返回长时间运行的操作。 这些方法是异步执行的,当方法返回响应时,操作可能尚未完成。您可以查看状态、等待操作完成或取消操作。
等待操作完成
下面介绍了如何等待操作完成。
如需轮询操作的状态,请对 Operations
资源调用 get
方法。操作完成后,done
字段会设为 true。
在使用任何请求数据之前,请先进行以下替换:
- REGION_ID:您的区域 ID
- PROJECT_ID:您的 Google Cloud 项目 ID
- OPERATION_ID:您的操作 ID
HTTP 方法和网址:
GET https://REGION_ID -dialogflow.googleapis.com/v3/projects/PROJECT_ID /locations/REGION_ID /operations/OPERATION_ID
如需发送您的请求,请展开以下选项之一:
curl(Linux、macOS 或 Cloud Shell)
执行以下命令:
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)
执行以下命令:
$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
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/PROJECT_ID /locations/REGION_ID /operations/OPERATION_ID ", "metadata": { "@type": "type.googleapis.com/google.cloud.dialogflow.v3.SomeOperationType", "state": "DONE" }, "done": true, ... }
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
如需向 Dialogflow 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。