调用WordPress Gravity Forms REST API筛选条目失败求助
Gravity Forms REST API 筛选条目无效的解决方法
你的问题出在GET请求的请求体不会被Gravity Forms REST API解析,GF的v2 API对于条目筛选的参数传递有明确要求,以下是两种可行的解决方案:
方案一:改用POST请求(推荐)
GF的/wp-json/gf/v2/entries端点支持用POST请求来获取筛选后的条目,此时请求体中的参数会被正确处理,步骤如下:
- 将请求方法改为
POST - 保持URL为
mySite.com/wp-json/gf/v2/entries - 授权设置不变(若WordPress开启两步验证,建议使用应用密码替代普通密码,在用户个人资料页创建)
- 请求体保留你原来的JSON内容,同时确保PostMan的请求头中
Content-Type设置为application/json
请求体示例:
{ "form_id": 12, "field_filters": [ { "key": "ip", "value": "1.1.1.1" } ] }
方案二:使用GET请求并将参数编码到URL中
如果坚持使用GET请求,需要把筛选参数转为URL编码的查询字符串:
form_id直接作为普通查询参数:?form_id=12field_filters的JSON内容需要URL编码,例如原JSON[{"key":"ip","value":"1.1.1.1"}]编码后为%5B%7B%22key%22%3A%22ip%22%2C%22value%22%3A%221.1.1.1%22%7D%5D
完整的请求URL如下:
mySite.com/wp-json/gf/v2/entries?form_id=12&field_filters=%5B%7B%22key%22%3A%22ip%22%2C%22value%22%3A%221.1.1.1%22%7D%5D
额外注意事项
- 确保当前授权用户拥有
gravityforms_entries_view权限,否则无法获取条目数据 - 确认Gravity Forms插件已启用REST API功能(默认启用,若被第三方插件/主题禁用需排查)
内容的提问来源于stack exchange,提问作者hdv212
相关产品推荐
相关产品推荐

