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

时间:2017-03-24 09:05:29

标签: 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(中)。

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

有没有办法获得会话线程ID?

2 个答案:

答案 0 :(得分:0)

没有直接的方法。您可以使用以下解决方法来循环对话ID:

(a)提取所有包含发件人ID https://graph.facebook.com/v3.0/--PAGE-ID--/conversations?fields=senders的对话ID

(b)查找消息发件人的user_id。 https://graph.facebook.com/v3.0/--MESSAGE-ID--?fields=from

(c)遍历会话ID,以找到与消息user_id匹配的对象并获取thread_id。

PS:这是一个昂贵的解决方案。除非确实需要,否则请尽量避免使用它。

答案 1 :(得分:0)

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