咨询Facebook Graph API /search路径的全部可用参数文档
我之前折腾过Facebook Graph API的搜索端点,确实官方没有一个集中的文档页面把graph.facebook.com/search的所有参数列全,不过结合官方零散的文档和实际测试,我整理了目前可用的核心参数和细分场景:
核心基础参数
这些是几乎所有搜索场景都需要用到的通用参数:
q: 搜索关键词(部分特定场景可选,比如地点搜索只传坐标和距离也能生效),示例:q="best pizza in Brooklyn"type: 必填,指定搜索的内容类型,常见取值包括user、page、event、place、post、groupaccess_token: 必填,有效的Graph API访问令牌,权限需要匹配搜索类型(比如搜索用户需要public_profile权限,搜索页面帖子需要pages_read_engagement权限)
按搜索类型细分的专属参数
不同的type对应不同的专属过滤参数,以下是常见类型的补充参数:
地点搜索(type=place)
这部分你可能已经看过地点搜索相关文档,再补充几个实用参数:
center: 经纬度坐标,格式为纬度,经度,用于定位附近地点,示例:center="40.7128,-74.0060"distance: 搜索半径,单位为米,默认1000米,最大支持5000米categories: 地点分类筛选,可用逗号分隔多个分类,比如categories="FOOD_BEVERAGE,SHOPPING"fields: 指定返回的地点字段,减少冗余数据,示例:fields="name,location,rating,phone"
用户/页面/群组搜索(type=user/page/group)
fields: 指定返回的字段,比如用户的name,id,profile_picture,页面的name,about,fan_countlimit: 控制单次返回的结果数量,默认25条,最大支持1000条offset: 分页偏移量,配合limit实现翻页,示例:limit=25&offset=50
帖子搜索(type=post)
fields: 指定返回的帖子字段,比如message,created_time,from,likes.summary(true)since: 起始时间,格式为ISO 8601,示例:since="2024-01-01T00:00:00Z"until: 结束时间,格式同since,用于限定时间范围的帖子搜索filter: 筛选帖子范围,可选值包括stream(默认,公开帖子)、owner(当前用户发布的帖子)locale: 指定搜索的语言区域,示例:locale="en_US"
重要注意事项
- 参数可用性完全依赖你的
access_token权限,如果权限不足,可能返回空结果或权限错误 - Facebook会不定期调整API参数,部分旧参数可能被废弃,建议关注官方Graph API的更新日志
- 若未指定
type,早期API会默认搜索多种类型,但现在官方强烈建议明确指定type以获得精准结果
内容的提问来源于stack exchange,提问作者Raphael




