如何在python中向Dialogflow事件添加参数

时间:2018-03-21 21:09:47

标签: python struct protocol-buffers dialogflow

我正在尝试使用python dialogflow客户端v2(https://dialogflow.com/docs/reference/api-v2/rest/v2beta1/projects.agent.sessions/detectIntent#eventinput)发送EventInput,但无法设置参数。

将其设置为类似的对象 {"result_guid": "49A8608C-4854-4964-81C3-0A75F912B994"}会返回错误ValueError: Protocol message Struct has no "result_guid" field.

如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

找到了解决方案。 parameters需要是一个google.protobuf.Struct,所以像下面这样的工作

from google.protobuf import struct_pb2

parameters = struct_pb2.Struct()
parameters["result_guid"] = "49A8608C-4854-4964-81C3-0A75F912B994"
event_input = dialogflow.types.EventInput(name=event_name, parameters=parameters, language_code=language_code)