Facebook - 获取带有消息ID的对话线程ID?

Joh*_*ohn 14 facebook facebook-graph-api facebook-webhooks

当我从Facebook Realtime API(webhooks)收到"消息接收回调"事件时,我想要获取对话中的先前消息.为此,我需要会话线程的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?

Mih*_*hai 8

我认为有一种更简单的方法可以做到这一点。您可以在对话中使用 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/


Kar*_*eem 1

没有直接的方法可以做到这一点。您可以使用下面的解决方法来循环对话 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) 循环遍历会话 ID 以查找消息 user_id 的匹配项并获取 thread_id。

PS:这是一个昂贵的解决方案。尽量避免它,除非你真的需要它。