2

ダイレクトラインAPIを使用するためのJavaScriptのチャットをすばやく作成しました。私のApp Secretを安全に保つために、jsは私のサーバーにajax呼び出しを行い、秘密を使ってサーバー側のAPI呼び出しを行い、トークンを生成してjsに渡します。ユーザーがメッセージを送信すると、jsは会話を開始するためのポストを作成します(私がまだconversationIDを持っていない場合)。その後、メッセージをポストし、レスポンスを取得します。ボットコネクタ - ダイレクトラインAPIクロス会話?

幸運にも、私がこれを始めたとき、私は何か探知し、投稿時にメッセージオブジェクトに "from"の値を含めるということについていくつかの投稿をスキップしました。しかし今、すべての作品は素晴らしい、問題はありません。

私は奇妙に思えたことに気付きました。私がブラウザを開いて、チャットを開始した場合、他のブラウザが中断した場所が表示されます。

私は、jsの "from"値をハードコードしていたため、すぐにそのことがわかりました。しかしそれはまだ変わっているようです... 2種類のトークン、2種類の会話ID、2種類のブラウザ、1会話。会話は実際にメッセージのFromフィールドによってリンクされていますか?

もしそうなら、conversationIDを持つ点は何ですか?彼らは何とかIPアドレスとMACアドレスをfromプロパティと組み合わせて使用​​していますか?

私はまだローカルホストで作業していますので、2つの異なるIPからテストしていません。

私は、jsがjsの存続期間に対話を制限するために "from"のランダムな値を生成することによって簡単に修正できますが、それでもなお奇妙に見えます。正当な理由があるのか​​、バグですか?

UPDATE答えをgithubの質問を参照してください: https://github.com/Microsoft/BotBuilder/issues/1307#issuecomment-249187807

答えて

1

あなたはときに、クライアントの負荷ランダムIDを生成する必要があります。 (または、デバイスIDのようにアプリケーション内に既存のユーザーIDを使用することもできます)。自動割り当ての動作は混乱の原因となっており、Direct Lineの次のバージョンには存在しません。 (GitHub Discussionを参照してください)

+0

(この問題は解決されているので、 – Lars