Я хочу вызывать DetectIntent программно. Я использую Google.Cloud.Dialogflow.V2 - Клиентские библиотеки.
using Google.Cloud.Dialogflow.V2;
var query = new QueryInput
{
Text = new TextInput
{
Text = text,
LanguageCode = "en-us"
}
};
var sessionId = "1234567890";
var agent = "myAgentName";
var creds = GoogleCredential.FromFile("JSONFileName");
Channel channel = new Channel(
SessionsClient.DefaultEndpoint.Host, SessionsClient.DefaultEndpoint.Port, creds.ToChannelCredentials());
var client = SessionsClient.Create(channel);
DetectIntentRequest request = new DetectIntentRequest
{
SessionAsSessionName = new SessionName("smartresort-facebook-bot-fgvjh", "1111"),
QueryInput = query,
};
DetectIntentResponse response = client.DetectIntent(request);
С кодом выше я получаю ошибку, как показано ниже
Я уже использую тот же файл JSON в коде узла jsи работает нормально. Так что в nodejs обнаружение намеренного кода работает нормально. Я пытаюсь сделать то же самое в ядре .NET.
После этого я попробовал другой фрагмент кода.
var client = SessionsClient.Create();
var response = client.DetectIntent(
session: new SessionName("smartresort-facebook-bot-fgvjh", "1234567890"),
queryInput: new QueryInput()
{
Text = new TextInput()
{
Text = text,
LanguageCode = "en-us"
}
}
);
Я не пытаюсь написать выполнение, которое будет вызвано после намеренияобнаружен. Я пытаюсь написать код до обнаружения намерения. Поэтому я хочу позвонить, чтобы определить намерение, а затем обработать ответ, основываясь на том, какое намерение обнаружено.