facebookads api异步作业检查状态,稍后获取结果

时间:2017-06-09 18:18:32

标签: google-app-engine facebook-ads-api google-app-engine-python

将作业提交到异步模式,使用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。

1 个答案:

答案 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;]