2016-12-15 14 views
0

FBアカウントと3ページあります。また、このページがFBアプリケーションに登録された後に、ページにメッセージを送信する必要があるjava Botを開発しています。問題は、現在ログインしているユーザー(自分のページにアプリを購読しているユーザー)におめでとうメッセージを送信する必要があることです。何らかの形でこのユーザーにメッセージを送信することもできます。しかし、ユーザーが自分のアプリケーションをどのページにも購読しているときは、IDを取得して保存してお祝いメッセージを送信します。しかし、問題は、このユーザーIDは絶対に間違っているようだ、私はそれに任意のアクセストークン、いずれのページトークン、または他のメッセージを送信することはできません。だから、ワークフローは次のとおりです。Facebook APIはページにメッセージを送信します

  1. 私は私が私が
  2. コールバックに入ったトークンからアクセストークンを取得するI(私)彼のこのURL
  3. Facebookは
  4. 私のコールバック関数をトリガ
  5. 承認URLを生成しますこのトークンを使用して私のアプリケーションを自分のページにリンクしても問題ありません。
  6. このコールバックでは、リンク後にメッセージを返すために現在のユーザーIDを取得します。
  7. サブスクリプション私はユーザーにメッセージを送信しようとしていますが、常に "(#100)一致するユーザーは見つかりません"

しかし、私がこのページからメッセージを送信した場合、私が得たユーザーIDはこれとまったく異なります私は上記のとおりです。そのIDをページから使用すると、すべて正常に機能します。メッセージを送信する方法、または直接メッセージを送信することはできないか、ユーザーのメッセージへの応答としてのみ行うことができますか?

+1

ボットとやりとりしたユーザーには、会話を開始する必要があります。また、メッセンジャーはページスコープのユーザーIDを使用しますが、ユーザーはアプリスコープのユーザーIDを使用します。これらは理由によって異なります。 – CBroe

答えて

1

「アプリスコープID」と「ページスコープID」が混在している可能性があります。

アプリスコープID:あなたは、あなたのアプリケーションでユーザーを認証した後にそのIDを取得します。ボットとは関係ありません。

Page Scoped ID:ユーザーがあなたのボットの使用を開始すると、それを取得します。そのための承認は必要ありません。

関連する問題