我如何使用Google Dialogflow发出API请求来检测意图(我正是需要这样做)?
我的问题是-我不能使用任何库(封闭系统,我不能只是添加任何我想要的库),我只能使用Oauth1.0/Keys和可能的Oauth2.0进行REST请求和身份验证。
在这些限制下,我需要做些什么才能提出这样的请求?
提前谢谢你,
发布于 2020-02-21 17:37:39
试试这个(它使用的是原生.net库)--我使用的是.net Core3.1,但我相信它在其他版本中应该可以工作。您需要Json.Net来解析答案。它使用oAuth 2.0,因为1.0已被弃用。
dynamic results;
string url = @"https://api.dialogflow.com/v1/intents/<intentId>";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers.Add(HttpRequestHeader.Authorization, "Bearer <your dialogflow developer key>");
try
{
WebResponse response = request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.UTF8);
var restResponse = reader.ReadToEnd();
results = JsonConvert.DeserializeObject<dynamic>(restResponse);
}
catch (WebException ex)
{
WebResponse errorResponse = ex.Response;
using (Stream responseStream = errorResponse.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, System.Text.Encoding.GetEncoding("utf-8"));
String errorText = reader.ReadToEnd();
}
throw;
}
https://stackoverflow.com/questions/60011403
复制