将作业提交到异步模式,使用facebookads api从facebook中提取广告洞察数据。
r = ad_account.get_insights(params=params, async=True)
存储report_run_id
我想在不同的python代码中检查此作业的状态,并将结果拉入该脚本而不是相同的脚本。
如果它在同一个工作中,我知道如何检查状态并获得结果。
while r[AdReportRun.Field.async_percent_completion] < 100:
time.sleep(5)
r.remote_read()
result = r.get_result()
换句话说,如果我有数据(它有report_run_id列)。如何检查作业状态并获得结果。
计划将此脚本移至google appengine,google appengine有60秒超时窗口。因此,我需要在稍后的时间点检查作业状态,如果作业成功,则将数据拉入BigQuery。
答案 0 :(得分:0)
我们可以从以下网址下载报告。需要替换report_run_id和access_token。
使用以下网址检查报告是否准备就绪:
&#34; https://graph.facebook.com/v2.9/&#34 + report_run_id +&#34;字段= async_status,async_percent_completion&安培; appsecret_proof =&#34 +配置[&#39; appsecret_proof&#39;] +& #34;&安培;的access_token =&#34 +配置[&#39;的access_token&#39;] +&#34;&安培; app_secret =&#34 +配置[&#39; app_secret&#39;]
使用以下网址下载报告:
&#34; https://www.facebook.com/ads/ads_insights/export_report?report_run_id=&#34 + report_run_id +&#34;&安培;格式= CSV&安培;的access_token =&#34 +配置[&#39; ACCESS_TOKEN&#39;]