You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Facebook Graph API稳定获取群组帖子的消息与创建时间?

如何稳定从Facebook Graph API群组帖子中获取message字段?

为什么字段顺序会变化?

其实这个问题很常见——Graph API返回的是JSON格式的数据,而JSON对象的属性本身是没有固定顺序的。虽然Python 3.7及以后的字典会保留插入顺序,但API端返回响应时,完全不保证id、message、created_time这些字段的排列顺序,所以每次请求返回的字段顺序波动是正常现象,不是你的代码哪里写错了。

怎么稳定获取message和created_time字段?

根本不用管字段顺序,直接通过键名访问就好了!你之前的代码是遍历item里的所有键,这才会受顺序影响,改成直接通过键名取值,不管顺序怎么变都能精准拿到你要的内容。而且推荐用get()方法,避免遇到没有message字段的帖子(比如纯图片/链接的帖子)时抛出KeyError。

修改后的代码示例:

groupData = graph.get("*****/feed", page=True, limit=1)
for page in groupData:
    print("===== 分页数据 =====")
    for item in page["data"]:
        # 直接通过键名获取,get()方法在字段不存在时返回None,更安全
        post_message = item.get("message")
        post_time = item.get("created_time")
        
        # 可以加个判断,跳过没有内容的帖子
        if post_message:
            print(f"创建时间: {post_time}")
            print(f"帖子内容: {post_message}\n")

这样不管API返回的字段顺序怎么变,你都能稳定拿到message和created_time,完全不受顺序影响。如果需要进一步处理生成词云,直接把post_message收集到列表里就可以了。

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:14:42