【问题标题】:How to get the messages from threads within Conversation from Facebook Workplace Graph API如何从 Facebook Workplace Graph API 的对话中的线程获取消息
【发布时间】:2019-09-14 16:44:27
【问题描述】:

我正在使用 facebook Workplace Graph API。 我正在寻找两件事:

1) 如何从消息 ID 中获取消息 2) 如何只获取新消息。

到目前为止我做了什么? 1)我可以通过这个 api 获取每个 convo 的消息 https://graph.facebook.com/user_id/conversations?fields=messages{message,attachments,from} 它同时返回所有 convo 和 messgaes。

我想按顺序获取消息,就像他们在文档中提到的那样:https://developers.facebook.com/docs/workplace/reference/graph-api/community#examples

使用此 API:

https://graph.facebook.com/Thread_id/messages?user=user_id 此 api 以以下格式返回消息 id:

    "data": [
        {
            "id": "m_mid.$cAAAAAB3Zz_JwhPe3PFqU7JtwhKkY",
            "created_time": "2019-04-25T08:52:43+0000"
        },
        {
            "id": "m_mid.$cAAAAAB3Zz_JwhOZDsVqU6D6aTMok",
            "created_time": "2019-04-25T08:33:40+0000"
        },
        {
            "id": "m_mid.$cAAAAAB3Zz_JwhOIeqVqU5zVO0W_t",
            "created_time": "2019-04-25T08:29:08+0000"
        },
        {
            "id": "m_mid.$cAAAAAB3Zz_JwhOGJq1qU5xAa27DB",
            "created_time": "2019-04-25T08:28:30+0000"
        },
        {
            "id": "m_mid.$cAAAAAB3Zz_JwhOF-BlqU5wyRZs39",
            "created_time": "2019-04-25T08:28:27+0000"
        }
    ],
    "paging": {
        "cursors": {
            "before": "QVFIUjBadUdDcHV6SWRrQkhpQy1iUURYa3lKZADRGR3ZA1RDRIOEE2LWp3aERiRXZAPbWxORFBKOWRWdXBpOWQySWx3TjdxSHpsQm0tRmpNNTc1dnBfV1JYNDFRWmtLbC1QSW5jVkk4a0NUNUF1RUNuemhxUUYzWkllVE9tWkM0Y2tpY1A4",
            "after": "QVFIUnRlc3VPUEdLM2FQdWxob1Y0YWxhdWFrMGQwWUxHSVZAwbmlaZA015RlUwLWRWTHhsdjRnNi03MTl3eWJvMUxiNXBaUFd4bVVBWkhpbmFCYkNLdzR5YlJVZA3YyT1RMVnJIY2JLbXVyTjNaN1pBaWVFeEkta0NLazljUHc5WGhEQlo0"
        }
    }
}

我不知道如何使用这些消息 ID 来获取实际消息。

【问题讨论】:

  • 使用消息ID发出请求,并请求message字段...?
  • @04FS 我试过这个:message_id?fields=message 但它不起作用。
  • 意思是……?没有数据,错误消息,...?

标签: facebook rest api facebook-graph-api facebook-workplace


【解决方案1】:

要阅读用户的消息,您需要使用 impersonate_token。 这使您还可以查看消息的内容并使用该 thread_id。

要阅读消息,您不需要调用 thread_id,因为您可以使用嵌套调用,例如:

me/conversations?fields=thread_id,messages{message,created_time}

在任何情况下,一旦您模拟了用户并检索到 thread_id,您就可以进行此调用

{thread_id}?fields=messages{message,created_time}

阅读特定线程的所有消息。消息已按 creation_time 排序,因此您只需要取最后一条即可。

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2017-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-14
    • 1970-01-01
    相关资源
    最近更新 更多