set parámetros en EventInput en Dialogflow V2 API

ntento desesperadamente establecer parámetros en un

dialogflow.types.EventInput

en python.

EstaDo dice que los parámetros deben ser del tipoStruct.

Yo leoaqu que los parámetros deben ser google.protobuf.Struct. Pero no funciona para mí.

¿Hay otroStruct tipo equivalente en python?

Si envío elEventInput sin parámetros, la intención se detecta correctamente.

He intentado esto hasta ahora:

import dialogflow_v2 as dialogflow
session_client = dialogflow.SessionsClient()

session = session_client.session_path(project_id, session_id)
parameters = struct_pb2.Struct()
parameters['given-name'] = 'Jeff'
parameters['last-name'] = 'Bridges'

event_input = dialogflow.types.EventInput(         
    name='greetPerson',
    language_code='de',
    parameters=parameters)

query_input = dialogflow.types.QueryInput(event=event_input)

response = session_client.detect_intent(
    session=session, query_input=query_input)

¿Alguien que tenga experiencia con este caso de uso?

Cosas que también probé:

Pass aclass rendimientos p nombrados:

Parameter to MergeFrom () debe ser una instancia de la misma clase: Struct esperado obtuvo p. para el campo EventInput.parameters

Pasar un dict:

parameters = {
    'given-name': 'Jeff',
    'last-name': 'Bridges'} 

rendimiento:

Protocol message Struct no tiene un campo "nombre de pila".

Generate Struct con el constructor:

from google.protobuf.struct_pb2 import Struct, Value
parameters = Struct(fields={
    'given-name':Value(string_value='Jeff'),
    'last-name':Value(string_value='Bidges')
})

rendimientos a veces:

Exception en el hilo ptvsd.stopping (muy probablemente generado durante el cierre del intérprete):

/ EventInput

Respuestas a la pregunta(1)

Su respuesta a la pregunta