我是 Google API 的新手。我想知道如何在 C# 中调用 Google Dialogflow API 以从输入文本中获取意图。但是我找不到任何使用 C# 调用 Dialogflow 的示例。
请提供一些从 C# 调用 Dialogflow 的示例。
最佳答案
如果我正确理解你的问题,你想从 C# 应用程序中调用 DialogFlow API(而不是编写从 DialogFlow 调用的实现端点)。如果是这种情况,这里是进行该调用的示例:
using Google.Cloud.Dialogflow.V2;
...
...
var query = new QueryInput
{
Text = new TextInput
{
Text = "Something you want to ask a DF agent",
LanguageCode = "en-us"
}
};
var sessionId = "SomeUniqueId";
var agent = "MyAgentName";
var creds = GoogleCredential.FromJson("{ json google credentials file)");
var channel = new Grpc.Core.Channel(SessionsClient.DefaultEndpoint.Host,
creds.ToChannelCredentials());
var client = SessionsClient.Create(channel);
var dialogFlow = client.DetectIntent(
new SessionName(agent, sessionId),
query
);
channel.ShutdownAsync();
在早期版本的 DialogFlowAPI 中,我在尝试重新部署 channel.ShutDownAsync()
似乎可以解决的 Web API 项目时遇到了文件锁定问题。我认为这已在最近的版本中得到修复。
这是我使用过的最简单的 DF 请求版本。在这篇文章中有一个更复杂的版本,它传入了一个输入上下文: Making DialogFlow v2 DetectIntent Calls w/ C# (including input context)
关于c# - 如何在 C# 中调用 google.apis.dialogflow.v2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50636149/