我正在尝试从我从我的 Facebook 页面运行的广告中提取数据到 csv 并将其推送到 sql db。我是网络开发的新手,我不确定我是否必须制作一个单独的 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())
最佳答案
#!/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 文档很困惑。
关于Python Facebook 广告 API 调用未通过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38385187/