web-dev-qa-db-ja.com

Facebook-メッセージIDで会話スレッドIDを取得しますか?

Facebook Realtime API(ウェブフック)から「メッセージ受信コールバック」イベントを受け取ったとき、会話内の前のメッセージをフェッチしたい。そのためには、会話スレッドのIDが必要です。

https://developers.facebook.com/docs/messenger-platform/webhook-reference/message?locale=en_US

イベントには、会話スレッドのID(t_id)に関する情報は含まれていません。メッセージID(mid)のみが含まれます。

https://developers.facebook.com/docs/graph-api/reference/v2.8/conversation

会話スレッドIDを取得する方法はありますか?

15
John

これを行う簡単な方法があると思います。会話でuser_idフィルターを使用できます。

https://graph.facebook.com/v3.0/--PAGE-ID--/conversations?fields=senders&user_id=

ここからパラメーターのセクションを参照してください: https://developers.facebook.com/docs/graph-api/reference/page/conversations/

1
Mihai

それを行うためのまっすぐな方法はありません。以下の回避策を使用して、会話IDをループできます。

(a)送信者IDを含むすべての会話IDを取得する https://graph.facebook.com/v3.0/--PAGE-ID--/conversations?fields=senders

(b)メッセージの送信者のuser_idを検索します。 https://graph.facebook.com/v3.0/--MESSAGE-ID--?fields=from

(c)メッセージuser_idの一致を見つけるために会話IDをループし、thread_idを取得します。

PS:これは高価なソリューションです。本当に必要な場合以外は、避けてください。

0
Kareem