3

我正在尝试从我的 facebook 页面运行的广告中提取数据到 csv 并将其推送到 sql db。我是 web 开发的新手,我不确定我是否必须制作一个单独的 fb 应用程序并使用广告sdk 为了做到这一点,或者我是否可以编写一个脚本,或者我是否朝着正确的方向前进。营销 api 中的以下代码块导致“如果未设置 api,则无法进行 Api 调用”)facebookads.exceptions.FacebookBadObjectError:如果未设置 api,则无法进行 Api 调用。,在第一次使用 async_job 调用 api 时。任何链接/教程将不胜感激,因为我目前迷失在文档中

#!/usr/bin/env/python

import urllib2
import json
from facebookads.adobjects.campaign import Campaign
from facebookads.adobjects.adsinsights import AdsInsights
from facebookads.adobjects.adreportrun import AdReportRun
from facebookads.api import FacebookAdsApi
from facebookads import objects
import time






campaign = Campaign(xxxxxxxxx)
params = {
 'level': AdsInsights.Level.campaign,
}
async_job = campaign.get_insights(params=params, async=True)

async_job.remote_read()

while async_job[AdReportRun.Field.async_percent_completion] < 100:
time.sleep(1)
async_job.remote_read()

time.sleep(1)

print(async_job.get_result()) 
4

1 回答 1

3
#!/usr/bin/env/python

import urllib2
import json
from facebookads.adobjects.campaign import Campaign
from facebookads.adobjects.adsinsights import AdsInsights
from facebookads.adobjects.adreportrun import AdReportRun
from facebookads.api import FacebookAdsApi
from facebookads import objects
import time

# init Facebook API
from facebookads.api import FacebookAdsApi

FacebookAdsApi.init(access_token='your_access_token')




campaign = Campaign(xxxxxxxxx)
params = {
'level': AdsInsights.Level.campaign,
}
async_job = campaign.get_insights(params=params, async=True)

async_job.remote_read()

while async_job[AdReportRun.Field.async_percent_completion] < 100:
time.sleep(1)
async_job.remote_read()

time.sleep(1)

print(async_job.get_result()) 

Facebook Doc 很混乱。

于 2016-07-15T07:01:57.307 回答