2016-06-29 1 views
1

私はMicrosoft Bot Frameworkプロジェクトで、自分のWebサイトにチャットボットを追加しようとしています。 チャットUIからボットに連続的にデータを渡して、ユーザーの詳細と現在のページの詳細を取得する必要があります。したがって、Web Chatクライアントを使用することはできません。私のウェブサイトにチャットボットを追加するためのMicrosoft Bot Frameworkプロジェクト。私はWeb Chatクライアントを使用できません。他にどんな方法がありますか?

私自身のチャットインターフェイスの作成以外に、他にどのような方法を使用できますか?

答えて

5

私自身のチャットインターフェイスの作成以外に、他にどのような方法を使用できますか?この声明によると、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レスポンスを見て、作成したクラスです。あなたが必要な場合は、私もそれを追加することができます。

乾杯!

関連する問題