Google.Cloud.Dialogflow.V2 Определение намерения не работает - PullRequest
0 голосов
/ 14 октября 2019

Я выполняю этот код ниже, но не получаю ответа от API в строке DetectIntent(). Вместо этого я также протестировал метод DetectIntentsAsync(), но у меня возникла та же проблема.

Я также вызываю бота из-за выполнения nodejs, и все ответы были в порядке.

Код ниже:

private void Button_Click(object sender, RoutedEventArgs e)
{
    messageList.Items.Add("User: " + messageText.Text);
    try
    {
        var query = new QueryInput
        {
            Text = new TextInput
            {
                Text = messageText.Text,
                LanguageCode = "en-us"
            }
        };

        var sessionId = Guid.NewGuid().ToString();
        var agent = "...";
        var parameters = new JsonCredentialParameters
        {
            Type = JsonCredentialParameters.ServiceAccountCredentialType,
            ClientEmail = "...",
            PrivateKey = "..."
        };
        string json = JsonConvert.SerializeObject(parameters);
        var creds = GoogleCredential.FromJson(json);

        var channel = new Grpc.Core.Channel(SessionsClient.DefaultEndpoint.Host, creds.ToChannelCredentials());

        var client = SessionsClient.Create(channel);

        var sessionName = new SessionName(agent, sessionId);

        var dialogFlow = client.DetectIntent(
            sessionName,
            query
        );
        channel.ShutdownAsync();

        messageList.Items.Add("Bot: " + dialogFlow);
    }
    catch (Exception ex)
    {
        messageList.Items.Add("error: " + ex.Message);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...