2017-08-14 58 views
0

我使用facebook-python-ads-sdk爲FB洞察API創建異步調用described從FB廣告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完成見解的工作,然而,在分頁的結果可能需要長達一個小時!

這是正確的方式來分類異步工作?

回答

0

我發佈的答案,以便它可以幫助其他開發者有同樣的問題。

修改:

return job.get_result() 

到:

return job.get_result(params={"limit": 1000}) 

這將分頁超過在1000跳躍的結果,而不是默認的是25

上述變化爲我們節省了30分鐘運行。