2

如何为 get_lead_gen_forms 方法定义 Facebook Marketing API 过滤器?我试过传递一些参数,但没有任何效果。

我需要按日期过滤,因为数据数量超出了我的限制。这是我的代码(*代码已经可以使用,需要过滤器的帮助):

from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount

FacebookAdsApi.init(my_app_id, my_app_secret, my_access_token)
account = AdAccount('act_accountid')
leadgenforms = account.get_lead_gen_forms()

这是我尝试过的参数:

# attempt 1
params = {
        'time_range': {
            'since': date_start, 
            'until': date_end
            }
         }
leadgenforms = account.get_lead_gen_forms(params=params)

# attempt 2
 params = {
         'filtering': [{ 
             'field': 'created_time', 
             'operator': 'GREATER_THAN', 
             'value': date_start }]
         }
leadgenforms = account.get_lead_gen_forms(params=params)
4

1 回答 1

1

您应该过滤字段time_created 而不是created_time.

此处文档的过滤线索部分:

此示例根据时间戳过滤潜在客户。时间戳应该是 Unix 时间戳。

curl -G \
  --data-urlencode 'filtering=[ 
    { 
      "field": "time_created", 
      "operator": "GREATER_THAN", 
      "value": 1516682744 
    } 
  ]' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<AD_ID>/leads

因此,在第二次尝试示例中:

# attempt 2
 params = {
         'filtering': [{ 
             'field': 'time_created', 
             'operator': 'GREATER_THAN', 
             'value': date_start }]
         }
leadgenforms = account.get_lead_gen_forms(params=params)

你应该使用, ad date_start,一个unix时间戳格式的日期:

自 Unix 纪元以来的秒数

希望这有帮助

于 2018-11-13T13:38:09.287 回答