如何通过Facebook API获取两个用户之间的会话线程
Facebook 双用户会话线程获取API使用说明
首先明确:Meta当前仅开放了业务场景下的会话获取接口,仅支持获取你的Facebook公共主页和用户之间的会话线程,普通个人用户之间的私人会话无公开API可获取,相关业务接口的使用说明如下:
1. 申请条件
- 拥有已完成企业认证的Meta Business Manager账号
- 账号下绑定了状态正常、无违规记录的Facebook公共主页
- 你的应用类型为Business类应用,且已完成Meta基础应用审核
- 可证明会话获取仅用于合规的客户服务、业务运营场景,不存在违规收集用户隐私的行为
2. 权限配置
所有权限均需要提交场景说明,经Meta官方审核通过后才可正式使用:
pages_messaging:主页消息读取基础权限pages_read_engagement:主页互动内容读取权限pages_show_list:账号绑定主页列表读取权限
需要获取90天以上历史会话的,需要额外申请pages_messaging_phone_number权限,同时提交更详细的场景合规证明
3. 调用示例
首先获取对应公共主页的访问令牌(Page Access Token),之后调用会话查询端点,传入两个参与者ID作为过滤参数即可,请求示例如下:
GET /v18.0/{你的主页ID}/conversations?user_id={第一个参与者ID}&other_user_id={第二个参与者ID}&access_token={你的主页访问令牌}
返回结果精简示例:
{ "data": [ { "id": "t_10987654321", "updated_time": "2024-05-20T14:30:00+0000", "participants": { "data": [ {"name": "用户A", "id": "123456789"}, {"name": "用户B", "id": "987654321"} ] }, "messages": { "data": [ { "id": "m_abc123def456", "message": "测试消息内容", "created_time": "2024-05-20T14:28:00+0000", "from": {"name": "用户A", "id": "123456789"} } ] } } ] }
重要提示
任何情况下你都无法调取两个无关联的普通个人用户的私人会话,违规爬取、获取用户隐私数据会直接导致应用、BM账号被永久封禁,情节严重的会触发合规追责。
内容的提问来源于stack exchange,提问作者Ekasu
相关产品推荐
相关产品推荐

