ユーザーの入力を受け取り、それをサードパーティのREST API呼び出しのIDとして使用し、応答を投稿するボットが必要です。 Microsoftのドキュメントを調べましたが、その要求/応答プロセスをプログラムする方法の例は見つかりませんでした。
任意の例または有用なリンクをいただければ幸いです
Jasonの答えに加えて、REST api呼び出しを行いたいので、次のコードを見てください:
public class RootDialog : IDialog<object>
{
public Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceivedAsync);
return Task.CompletedTask;
}
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
var activity = await result as Activity;
// User message
string userMessage = activity.Text;
try
{
using (HttpClient client = new HttpClient())
{
//Assuming that the api takes the user message as a query paramater
string RequestURI = "YOUR_THIRD_PARTY_REST_API_URL?query=" + userMessage ;
HttpResponseMessage responsemMsg = await client.GetAsync(RequestURI);
if (responsemMsg.IsSuccessStatusCode)
{
var apiResponse = await responsemMsg.Content.ReadAsStringAsync();
//Post the API response to bot again
await context.PostAsync($"Response is {apiResponse}");
}
}
}
catch (Exception ex)
{
}
context.Wait(MessageReceivedAsync);
}
}
ユーザーから入力を受け取ったら、REST呼び出しを行い、APIから応答を受け取った後、context.PostAsync
メソッドを使用してユーザーにポストバックできます。
Ashwinが言ったように、ボットは単なるWeb APIであり、他のWebAPIと同じようにリクエストを送受信しているだけです。以下は、始めるのに役立つドキュメントです。