有没有一种方法可以获取用户和代理之间的完整对话。与我通过单击历史记录标签获得的内容非常相似,但是以编程方式。关键是将用户和代理之间的交互保存为文本。
谢谢高级玩家!
答案 0 :(得分:1)
没有API可直接从Dialogflow检索历史记录。但是您可以做的就是启用日志记录。
Agent Settings > General > Log Settings > Log interactions to Google Cloud
所有交互都将登录到Google Stackdriver,该API具有一个API,您可以在其中检索所有日志以及聊天记录。
https://cloud.google.com/logging/docs/reference/v2/rest/
这是将日志存储在Stackdriver中的方式
{
insertId: "19ignahfzlu2o7"
labels: {
protocol: "V2BETA1"
request_id: "3033c2e3-7cab-4a00-b2b7-207be8d22366"
type: "dialogflow_request"
}
logName: "projects/dialogflowproject-ca57b/logs/dialogflow_agent"
receiveTimestamp: "2019-03-27T12:44:42.547531753Z"
resource: {
labels: {
project_id: "dialogflowproject-ca57b"
}
type: "global"
}
severity: "INFO"
textPayload: "Dialogflow gRPC Request : session: projects / dialogflowproject - ca57b / agent / sessions / 53 d451c1 - 40 f5 - c00e - cbbd - 178e ff32b971 "
query_params {
time_zone: "America/Buenos_Aires"
}
query_input {
text {
text: "hi"
language_code: "en"
}
}
"
timestamp: "2019-03-27T12:44:42.420Z"
trace: "53d451c1-40f5-c00e-cbbd-178eff32b971"
}
然后您可以从那里检索会话,并建立整个聊天记录。
另一种选择是,如果消息首先通过您的服务器进行交互,则在交互发生时将其保存到数据库中。