J'utilise facebook-python-ads-sdk pour effectuer des appels asynchrones pour FB insights API comme described.récupérer des résultats d'annonces async résultats de FB API de l'API avec la pagination
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()
Ainsi, le travail pour récupérer un aperçu des finitions last_28d en quelques minutes, cependant, la pagination sur les résultats peuvent prendre jusqu'à une heure! Est-ce la bonne façon de paginer sur un travail asynchrone?