Der folgende Python 3 Code demonstriert die Verwendung der Facebook Business API zum Abrufen der Statistiken für Werbekampagnen.

 

Für den Beispielcode muss die Facebook Business-Bibliothek installiert sein (pip install facebook_business).


#!/usr/bin/python3
# -*- coding: UTF-8 -*-

import os
from os.path import basename
import sys
from sys import platform
import json
import time
import requests
from datetime import timedelta, date
from datetime import datetime, timedelta
from facebook_business.api import FacebookAdsApi
from facebook_business.adobjects.adaccount import AdAccount
from facebook_business.adobjects.adset import AdSet
from facebook_business.adobjects.ad import Ad
from facebook_business.adobjects.adcreative import AdCreative

 

FACEBOOK_CLIENT_ID = '<your client id>'
FACEBOOK_CLIENT_SECRET = '<your client secret>'
FACEBOOK_ACCESS_TOKEN = '<your access token>'

 

def get_campaign_statistics_for_day(date, account_id):
  date_string = date.strftime("%Y-%m-%d")

  ad_account = AdAccount(account_id)

  fields = [
    'account_name',
    'campaign_name',
    'campaign_id',
    'adset_name',
    'adset_id',
    'ad_name',
    'ad_id',
    'impressions',
    'clicks',
    'spend',
    'actions',
    'reach'
  ]

  params = {
    'breakdowns':['device_platform'],
    'time_range': {
      'since': date_string,
      'until': date_string
    },
    'level': 'ad',
    'limit': 100000
  }

  ad_insights = ad_account.get_insights(fields, params)

  # do whatever you want with the statistics in JSON format
  print(ad_insights) 

  return ad_insights

 

if __name__ == '__main__':

  FacebookAdsApi.init(FACEBOOK_CLIENT_ID, FACEBOOK_CLIENT_SECRET, FACEBOOK_ACCESS_TOKEN)

  facebook_account_id = 'act_<your account id>'

  my_date = (datetime.now() - timedelta(1))

  get_campaign_statistics_for_day(my_date, facebook_account_id)