web-dev-qa-db-ja.com

Facebookメッセンジャーボットの会話からのAPI認証

Facebookメッセンジャープラットフォーム上のボットとの会話から外部APIで認証するための最良の方法は何ですか?

大まかな例として、ボットのユーザーに外部Webサイトの独自のプロファイルにアイテムを作成してもらいたいと思います。ユーザーがユーザー名とパスワードを使用してボットにメッセージを明示的に送信せずに、ユーザーからログイン情報を取得したり、ボットを外部Webサイトに接続したりする方法はありますか?

ser Profile API の下のドキュメントで見つけたもの:

User Profile APIの人の名前またはプロフィール写真を使用して、会話をパーソナライズできます。この情報を取得するには、 https://graph.facebook.com/v2.6/ ?fields = first_name、last_name、profile_pic&access_token =にGETリクエストを送信します。詳細については、SendAPIリファレンスをご覧ください。

これは私が探しているものではありませんが、役に立ちます。ドキュメントからの詳細は次のとおりです。

ユーザープロファイルAPI

リクエスト

curl -X GET "https://graph.facebook.com/v2.6/<USER_ID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"

応答

{ "first_name": "Peter", "last_name": "Chang", "profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile...70ec9c19b18" }

14
Noam Hacker

それは彼らがどのようにやってくるかによります。

  1. 彼らがあなたのウェブサイトから来ている場合、あなたは彼らのアカウント内からメッセンジャーに送るボタンを使うことができます。パススルーパラメータを使用して、アカウントをユーザースレッドにリンクします。 ドキュメント からの抜粋です:

プラグインは、ユーザーが定義したパススルーパラメーターを受け取ります。このパラメータは、コールバックを介して返送されます。これを使用して、認証イベントを個人および/またはトランザクションにリンクできます。たとえば、特定のトランザクションのオンラインフローを入力して、[メッセンジャーに送信]ボタンをクリックする場合があります。データを渡して、どのユーザーとトランザクションが認証イベントに関連付けられているかを知ることができます。このパラメータをエンコードして暗号化する必要があります。

  1. 彼らがあなたのボットに直接来る場合、あなたは彼らに会話の中からある種のログイン(あなたのログイン)を提示しなければならないでしょう。これは、モバイルWebURLへのリンクで発生します。
12
pschang