如何使用 Facebook API 过滤市场车辆

问题描述

我正在执行 /vehicles?limit=300&filter=[{"field":"vehicle_id","value":"106892","operator": "EQUAL"}],然后收到错误 (#100) For field 'vehicles': Param filter must be a valid WCA rule.

==== Query
  curl -i -X GET \
   "https://graph.facebook.com/v9.0/{catelog_id}/vehicles?limit=300&filter=%5B%7B%22field%22%3A%22vehicle_id%22%2C%20%22value%22%3A%22106892%22%2C%20%22operator%22%3A%20%22EQUAL%22%7D%5D&access_token=<access token sanitized>"

==== Parameters
- Query Parameters
  {
    "limit": "300","filter": "[{\"field\":\"vehicle_id\",\"value\":\"106892\",\"operator\": \"EQUAL\"}]"
  }
- POST Parameters
  {}
==== Response
  {
    "error": {
      "message": "(#100) For field 'vehicles': Param filter must be a valid WCA rule.","type": "OAuthException","code": 100,"fbtrace_id": "xxx"
    }
  }

Facebook 参考:https://developers.facebook.com/docs/marketing-api/reference/product-catalog/vehicles/。我找不到这个过滤器应该如何使用的任何明确指南。

解决方法

filter 字段应该是有效的 JSON-encoded WCA rule expression representing the filter to be applied for the edge。您可以找到此定义 herehereFilter Rules,参见 Example Filter Rules 部分)的参考。在你的例子中,应该是这样的:

/vehicles?filter={"vehicle_id":{"eq":"106892"}}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...