2017-05-16 9 views
1

node.js内の別のサーバーからの要求に応じて、ユーザーデータにアクセスしたり編集したりする方法が見つかりません。Microsoft Bot Frameworkで取得要求を処理するにはどうすればよいですか?

私の特定のユースケースでは、特定のユーザーの一部の値を、サーバーが送信する値で更新します。現在、サーバーにはすべてのユーザー用の会話アドレスが格納されています。

また、データにアクセスできることを前提として、同じサーバーにGETリクエストを送信することを計画しています。

答えて

1

すべての会話にアクセスするには、BotStateに2つの情報が必要です。まずはchannelIdが必要です。次に会話が必要です.Id。

あなたはので、私はこれがMessageControllerで起こる、あなたは答えのために2のIDの

var channelId = //Parse channel ID => "Skype", "Slack", ... 
var conversationId = //Parse conversationId 

var stateClient = activity.GetStateClient(); //activity is of type Activity. 
var conversationData = stateClient.BotState.GetConversationData(channelId, conversationId); 

//Change data. 
+0

おかげで、すでに解析されていると推測つもりだこのロジックを実行している場所を私は知りません!私たちがプラットフォームに依存しないようにする方法はありますか?ボットを使用するすべてのユーザが、プラットフォームに関係なく共通のユーザ名を持っているとし、ユーザがWebプロンプトでそれを変更したときに変更する必要があるとします。 1つのプラットフォーム上で変更するのはほとんど意味がありませんが、他のプラットフォームで変更するのはほとんど意味がありません。 –

+0

すべてのuserIdは、そのプラットフォームでのみユニークです。したがって、これを行うには、ユーザー名をチャンネルのユーザーIDにリンクするデータベースを作成する必要があります。あなたの州のクライアントのすべてのデータストアのリストを取得することはできません。 –

+0

もう一度ありがとうございます。私はスニペットをより慎重に行っていましたが、これは.NETでうまくいくと思います。私はnode.jsソリューションを探しています。 –

関連する問題