私自身のチャットインターフェイスの作成以外に、他にどのような方法を使用できますか?この声明によると、WebChatが最も簡単な方法です。埋め込まれたIframeだけがチャットボットの作成を完了しているためです。それ以外は
ボットフレームワークにアクセスするためのREST APIがあります。 Direct Line APIと呼ばれます。以下のドキュメントがあります。 HERE
以下は、どのように使用できるかに関するコードサンプルです。私はASP.NET MVC
アプリケーションで試しました。ここMessage, MessageSet and Conversation
で
private async Task<bool> PostMessage(string message)
{
bool IsReplyReceived = false;
client = new HttpClient();
client.BaseAddress = new Uri("https://directline.botframework.com/api/conversations/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("BotConnector", "[YourAccessToken]");
response = await client.GetAsync("/api/tokens/");
if (response.IsSuccessStatusCode)
{
var conversation = new Conversation();
response = await client.PostAsJsonAsync("/api/conversations/", conversation);
if (response.IsSuccessStatusCode)
{
Conversation ConversationInfo = response.Content.ReadAsAsync(typeof(Conversation)).Result as Conversation;
string conversationUrl = ConversationInfo.conversationId+"/messages/";
BotDirectLineApproch.Models.Message msg = new BotDirectLineApproch.Models.Message() { text = message };
response = await client.PostAsJsonAsync(conversationUrl,msg);
if (response.IsSuccessStatusCode)
{
response = await client.GetAsync(conversationUrl);
if (response.IsSuccessStatusCode)
{
MessageSet BotMessage = response.Content.ReadAsAsync(typeof(MessageSet)).Result as MessageSet;
ViewBag.Messages = BotMessage;
IsReplyReceived = true;
}
}
}
}
return IsReplyReceived;
}
ドキュメントのJSONレスポンスを見て、作成したクラスです。あなたが必要な場合は、私もそれを追加することができます。
乾杯!