Im Rahmen der ersten virtuellen Allfacebook Marketing Conference 2020 habe ich in meinem Homeoffice über die Programmierschnittstelle von Facebook gesprochen.
In Wahrheit ist es ja gar nicht eine einzige Marketing API, sondern Facebook bietet eine ganze Reihe von unterschiedlichen, allesamt spannenden Interfaces an, um sowohl Informationen/Daten aus Facebook abzusaugen, als auch hochzuladen. In diesem Artikel zeige ich alle Codebeispiele in PHP.
Vorbereitungsarbeiten
- Zuerst installieren wir uns XAMPP. Ein kleiner, aber feiner Apache Webserver, der nichts kostet und rasch installiert ist. Perfekt für lokales Testen von Webanwendungen – die Domain im Testbetrieb heißt dann https://localhost/
- Dann holen wir uns Composer. Den brauchen wir, um die aktuellste Version des graph-sdk und des php-business-sdk auf unseren Rechner zu bringen.
- PHP kann man grundsätzlich auch in jedem Windows-Editor eintippseln. Der kostenlose Visual Studio Code von Microsoft ist aber in jedem Fall empfehlenswert. Das farbliche Syntax Highlighting, die optischen Schleifenstrukturen und das Autocomplete für Variablen/Funktionen ist sehr praktisch.
- Jetzt können wir unsere erste Facebook App anlegen – ohne einer solchen App können wir später die API nicht nutzen.
Access Token
Facebook verwendet für eine standardisierte und sichere API-Autorisierung in Desktop-, Web- und Mobile-Anwendungen Open Authorization (=OAuth).
Klarerweise können maximal Rechte autorisiert werden, die der Resource Owner selbst innehat.
Achtung: die meisten Ad-relevanten Berechtigungen werden von Facebook nur auf Anfrage freigeschaltet – das kann manchmal Tage/Wochen dauern. Im Testbetrieb kann man trotzdem den benötigten Zugriffsschlüssel ganz einfach erzeugen und verwenden. Im späteren Echtbetrieb müssen wir das dann über OAuth anfordern: getAccessToken()
Codebeispiel 1: Einsatz der Graph API
Wir lesen den Namen und die Profilbild-URL eines bestimmten Users aus und geben das am Schirm aus. 2stufiger Aufbau: In login.php ist die Authentifizierung mit Redirect und in index.php steht der restliche Code.
Codebeispiel 2: Reports mit der Business API erstellen
Wir stellen mit einem (dank Test-Umgebung bereits fertigen) Token die Verbindung mit einem Werbekonto her. Dann laden wir alle aktiven Kampagnen und deren AdSets und Ads. Holen uns Impressionen, Reichweite und Ausgaben von jedem Ad und transferieren diese Werte via Zapier in ein GoogleSheet.
Webhooks werden für Echtzeit-Benachrichtigungen verwendet, sind in der Regel HTTP Callback Points. In diesem Fall: Sobald die Zapier-Webhook-URL später durch unser PHP-Script mit Parametern aufgerufen wird, werden diese Werte automatisch in die aktuelle Zeile eines zuvor definierten Googlesheet eingetragen.
Codebeispiel 3: Automatisiert Kampagnen erstellen
Wir definieren eine neue Kampagne und legen die automatisch in einem Werbekonto an. Unter dieser Kampagne keieren wir ein frisches AdSet (simples Targeting, Start/Ende, Gebote) und lassen das ebenfalls im Werbekonto anlegen.