如何获取Facebook Feed帖子中from字段的Profile类型?
解决Facebook Feed中from字段类型识别问题
嘿,我来帮你搞定这个问题!其实不用纠结metadata=1的用法,Facebook Graph API支持嵌套字段查询,直接就能在返回的每个from对象里拿到类型信息,步骤很简单:
方法一:直接指定from的嵌套字段(推荐)
修改你的GET请求,在fields参数里给from字段添加子字段type(还可以搭配id、name这些基础信息),具体格式如下:
GET https://graph.facebook.com/v2.11/<user-id>/feed?fields=id,admin_creator,...,from{id,name,type}
这样请求返回的每个帖子数据中,from对象会直接包含type字段,值可能是user、page、group等,清晰明了。
举个返回数据的示例:
{ "data": [ { "id": "12345_post", "from": { "id": "67890", "name": "Jane Smith", "type": "user" }, // 其他帖子字段... }, { "id": "54321_post", "from": { "id": "09876", "name": "Tech Tips Page", "type": "page" }, // 其他帖子字段... } ] }
方法二:使用metadata=1参数(不推荐,冗余数据多)
如果一定要用metadata=1,只需在请求末尾添加该参数:
GET https://graph.facebook.com/v2.11/<user-id>/feed?fields=id,admin_creator,...,from&metadata=1
此时返回的每个from对象里会多出一个metadata子对象,其中包含type信息,不过这种方式会返回很多额外的元数据,不如方法一高效简洁。
注意:确保你的API访问权限足够获取from相关字段,一般只要能正常拉取feed数据,type字段都是可以获取到的。
内容的提问来源于stack exchange,提问作者Marcus




