16

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

4

2 回答 2

5

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

于 2019-01-16T15:29:53.687 回答
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:这是一个昂贵的解决方案。尽量避免它,除非你真的需要它。

于 2018-07-04T18:07:09.833 回答