Google Adwords API – Teil 1
Ich zeige euch wie man mit der Google Adwords API arbeitet. Google bietet mittlerweile ja zahlreiche Dienste an. Viele davon besitzen ihrerseits auch eine eigene API damit man auch Daten für externe Programme verwenden kann. Darunter zählt auch Adwords.
Google Adwords API
Die Adwords API stellt SOAP Schnittstellen bereit über die man sich die gewünschten Daten holen kann. Wer schon einmal mit SOAP gearbeitet hat weiß, dass das umständlich ist, da man die Schnittstelle sehr genau kennen muss. Leider gibt es fast jedes halbe Jahr eine neue Version und da ändern sich oft Dinge. Werte kann man nicht mehr abfragen, neue sind hinzugekommen usw…
Um nicht selbst direkt mit SOAP zu tun zu haben stellt Google für das Arbeiten mit der Schnittstelle eine eigene Client Library zur Verfügung. Die PHP Version ist hier zu finden.
Adwords Client Library
Der Vorteil der Client Bibliothek liegt auf der Hand: die Abfragen sind deutlich einfacher! Außerdem umfasst die Library zahlreiche Beispiele wie man richtig Daten von Adwords abfragt.
Installation
Man braucht die Client Library nur entpacken und den Ordner in sein Projekt aufnehmen.
Arbeiten mit der Schnittstelle
Um mit der Schnittstelle arbeiten zu können muss man die AdWordsUser.php in sein Projekt einbinden:
require_once 'Google_Adword_API/src/Google/Api/Ads/AdWords/Lib/AdWordsUser.php';
Danach kann man sich ein AdWordsUser Objekt erstellen:
$user = new AdWordsUser(null, $adwords_username, $adwords_password, $adwords_developerToken); $user->SetDefaultServer("https://adwords.google.com/");
Das AdWordsUser Objekt erwartet einige Werte von uns. Das sind:
- AdWords Username
Der Benutzername des Google Accounts für das ein AdWords Zugang erstellt wurde. - Adwords Passwort
Das Passwort für den Google Account. - Adwords Developer Token
Das Developer Token, welches man hier beantragen kann.
Ist der Google Adwords API Account ein so genannter MCC Account so können ihm mehrere AdWords Konten zugeordnet werden. So gesehen ist das ein übergeordneter Account über den man Daten zahlreicher AdWord Accounts einsehen kann (zum Beispiel Kunden einer Marketing oder Web Agentur).
Nun können wir auf jeden dort registrierten Account zugreiffen. Das geht über dessen AdWords ID. Diese findet man, wenn man sich bei Google AdWords anmeldet ganz oben rechts im Browserfenster und hat die Form: XXX-XXX-XXXX. Wir setzen nun die Client ID im Code:
//set Adwords Client Id $user->SetClientId('1234567890');
Nun ist unser User Objekt vollständig konfiguriert und wir können damit Werte aus der Google Adwords API abfragen.
Soweit der erste Teil meiner Artikelserie. Im nächsten Teil geht es um das Abfragen von Werten.
Teil 1 | Teil 2 | Teil 3 | Teil 4 | Teil 5 | Teil 6
Hi,
danke für dieses schöne Tutorial. Leider bekomme ich schon ganz am Anfang nach em ersten Include einige Fehlermeldungen:
Warning: require_once(Google/Api/Ads/Common/Util/Logger.php) [function.require-once]: failed to open stream: No such file or directory in /Users/mmeyer/Eigene Dateien/www/Tests/googletests/adwords_api_php_4.2.5/src/Google/Api/Ads/Common/Lib/AdsUser.php on line 27
und
Fatal error: require_once() [function.require]: Failed opening required ‚Google/Api/Ads/Common/Util/Logger.php‘ (include_path=‘.:/Applications/XAMPP/xamppfiles/lib/php:/Applications/XAMPP/xamppfiles/lib/php/pear‘) in /Users/mmeyer/Eigene Dateien/www/Tests/googletests/adwords_api_php_4.2.5/src/Google/Api/Ads/Common/Lib/AdsUser.php on line 27
Ich verwende die aktuelle 4.2.5 Version. Hat jemand einen Tipp, warum das alles nicht funktioniert?
Viele Grüße
Michael
Hallo!
die Fehlermeldung schaut aus, als würde er die gesuchte Datei (Logger.php) nicht finden. Ich denke das erste Include stimmt nicht. Probier mal die Beispiele im examples Ordner aus. Gehen die?
du musst den korrekten Pfad zu deiner API einbinden zB set_include_path(„../Google_Adword_API/src/“); Deshalb, weil alle Dateien der API nur auf relative Pfade verweisen. D.h. bei mir liegt unter Google_Adword_API/src der Google Ordner, der von den includes der Skriptdateien der API angesprochen wird.
In der neuen PHP-Lib fehlt die Logger.php. Bekomme die gleiche Fehlermeldung. Bin nun etwas ratlos.
doch die Logger.php Datei ist vorhanden. Man muss hier nur den korrekten Pfas einbinden zB mit set_include_path(„../Google_Adword_API/src/“);
Vielen Dank für die super Einführung in die Google Adwords-API!
Ich werde die API in den nächsten Tagen mal mit Hilfe dieses Tutorials testen. 🙂
Beste Grüße,
Carl-Frederic
Gern 😉 Hoffe du kannst damit etwas anfangen. Bei Fragen einfach melden.