我正在使用 facebook-python-ads-sdk以 described 的形式对 FB insights API 进行异步调用.
params = {
"time_increment": 1,
"level": "ad",
"date_preset": "last_28d",
"breakdowns": "hourly_stats_aggregated_by_advertiser_time_zone",
"limit": 1000
}
job = AdAccount("id").get_insights_async(params=params)
result_cursor = wait_for_async_job(job)
results = [item for item in result_cursor]
def wait_for_async_job(job):
for _ in range(TIMEOUT):
time.sleep(1)
job = job.remote_read()
status = job[AdReportRun.Field.async_status]
if status == "Job Completed":
return job.get_result()
因此,检索 last_28d 的见解的工作会在几分钟内完成,但是,对结果进行分页最多可能需要一个小时!
这是对异步作业进行分页的正确方法吗?
最佳答案
我发布答案是为了帮助遇到同样问题的其他开发者。
修改:
return job.get_result()
到:
return job.get_result(params={"limit": 1000})
这将以 1000 次而不是默认值 25 次为单位对结果进行分页。
上述更改为我们节省了 30 分钟的运行时间。
关于python - 使用分页从 FB 广告 API 检索异步广告洞察结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45675916/