当我从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?
答案 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/