1

何か不足しているかどうかはわかりませんが、既存の Skype ボット フレームワークで実行するように新しい Facebook Messenger 機能をセットアップすると、すべてが完全に機能します。

私が直面している唯一の問題は、ボットにメッセージを送信しているユーザー名を取得できないように見えることです。From フィールド (ID、住所、名前など) と参加者フィールドを試しましたが、すべて数値が返されます。

何が起こるかの説明。

ユーザーは Web サイトにログインし、データを入力して、バックエンドに保存されている Skype と Facebook の一意の ID を提供します。完了すると、ボット フレームワークを介してメッセージを送信できるようになり、メッセージの送信者をピックアップして、そのユーザーに固有の詳細を返信します。

したがって、Facebook ユーザーをバックエンド ユーザーにマップする必要があります。

ほとんどの人が自分の名前を知っているので、Facebookのユーザー名が送信されると想定していました。

これどこで手に入るか知ってる人いますか?

ありがとう

4

2 に答える 2

0

ダイアログごとにsessionオブジェクトがあります。ユーザーのフレンドリ名はsession.message.participants.toまたは.from

http://docs.botframework.com/sdkreference/nodejs/interfaces/_botbuilder_d_.imessage.html

あなたが言ったように、あなたが得ているのは「数字」だけです。その番号は送信者 ID である必要があります。にも同じ番号が表示されchannelData.sender.idます。ユーザー情報を取得するために、facebook に対して 2 番目のクエリを実行してみてください。私はそれを試してみましたが、うまくいきます。

https://developers.facebook.com/docs/messenger-platform/implementation#user_profile_api

于 2016-06-30T06:13:05.943 に答える
0

現在のコードを調べました。現在、Facebook が送信するメッセージにはユーザー名が含まれておらず、Facebook ユーザー ID のみが含まれているため、私たちが持っているものを提供していることになります (Message オブジェクトの ChannelData を参照)。

追加のラウンド トリップとして呼び出すことができるプロファイル API があります。しかし、現時点ではそうしていません。

于 2016-05-03T23:44:01.897 に答える