Hi Fox,
hab das ganze schon fertig. War wie erwarten nicht allzu schwer.
Nun zum Einbauen:
Als erstes erstellst Du auf Deinem Server ein Verzeichnis, z.B. "Schaltung".
In dieses Verzeichnis muss noch die Datei "nusoap.php" rein, welche Du hier bekommst:
https://cvs.sourceforge.net/viewcvs.py/ ... nusoap.php
Jetzt erstellen wir für Dich 2 php-Dateien, die ebenfalls in dieses Verzeichnis müssen. Als erstes die Datei, die um 11 Uhr die Kampagnen ausschaltet.
Diese erste Datei nennen wir mal aus.php. Denk dran, Deine Email-Adresse, Passwort und Adwords-API-Token richtig einzusetzen.
Ich habe das Script so eingestellt, daß Du die Kampagnen einzeln pausieren und wieder starten kannst. Die Kampagnen-ID findest Du, wenn Du bei Adwords über den Namen der Kampagne fährst im Link in der Statuszeile:
adwords.google.de/select/CampaignManagement?campaignid=
1234567
In unserem Beispiel hier pausieren wir mal die Kampagne "Autozubehör" mit der ID = "1234567". Die Routine kannst Du dann beliebig häufig wiederholen. Halt für alle Kampagnen, die Du pausieren willst.
Dein Tagesbudget (=dailyBudget) für die Kampagne muß immer mit angegeben werden. Dabei entspricht 1$ = 1000000. In unserem Beispiel hier ist das Tagesbudget also auf 20$ gesetzt. Muß Du jeweils für Deine Kampagnen anpassen!!!
Alles was fett ist, muß von Dir geändert werden!!!
aus.php:
<?
require_once('nusoap.php');
// Set up the authentication headers
$email = "<email>
muster@mustermann.de</email>";
$password = "<password>
Passwort</password>";
$userAgent = "<useragent>YOURCOMPANY -- PHP Campaign Demo</useragent>";
$token = "<token>
xxxxxxxxxxxxxxxxx</token>";
$header = $email . $password . $userAgent . $token;
$campaignClient = new soapclient(
'
https://adwords.google.com/api/adwords/ ... rvice?wsdl',
'wsdl');
$campaignClient->setHeaders($header);
// Ab hier startet die Routine für jede einzelne Kampagne
//
// Kampagne "
Autozubehör" pausieren
//
$id = "<id>
1234567</id>";
// Kampagnenstatus auf "Paused" setzen
$status = "<status>Paused</status>";
// Tagesbudget wird benoetigt!
$dailyBudget = "<dailyBudget>
20000000</dailyBudget>";
$campaignparams = "<campaign>$id $dailyBudget $status</campaign>";
$campaignparamsxml = "<updateCampaign xmlns='
https://adwords.google.com/api/adwords/v2'> $campaignparams </updateCampaign>";
// Den Kampagnenstatus jetzt updaten
$campaign = $campaignClient->call("updateCampaign", $campaignparamsxml);
// Hier endet die Routine für jede einzelne Kampagne
// Handle any SOAP faults.
if($campaignClient->fault) {
showMyErrors($campaignClient);
return;
}
function showMyErrors($client) {
echo "<P>FAULT: {$client->fault}<br>\n";
echo "<P>Code: {$client->faultcode}<br>\n";
echo "<P>String: {$client->faultstring}<br>\n";
echo "<P>Detail: {$client->faultdetail}<br>\n";
}
?>
Nun zur Datei, die um 15 Uhr die Kampagnen wieder einschaltet. Nennen wir Sie mal an.php.
an.php:
<?
require_once('nusoap.php');
// Set up the authentication headers
$email = "<email>
muster@mustermann.de</email>";
$password = "<password>
Passwort</password>";
$userAgent = "<useragent>YOURCOMPANY -- PHP Campaign Demo</useragent>";
$token = "<token>
xxxxxxxxxxxxxxxxx</token>";
$header = $email . $password . $userAgent . $token;
$campaignClient = new soapclient(
'
https://adwords.google.com/api/adwords/ ... rvice?wsdl',
'wsdl');
$campaignClient->setHeaders($header);
// Ab hier startet die Routine für jede einzelne Kampagne
//
// Kampagne "
Autozubehör" wieder starten
//
$id = "<id>
1234567</id>";
// Kampagnenstatus auf "Active" setzen
$status = "<status>Active</status>";
// Tagesbudget wird benoetigt!
$dailyBudget = "<dailyBudget>
20000000</dailyBudget>";
$campaignparams = "<campaign>$id $dailyBudget $status</campaign>";
$campaignparamsxml = "<updateCampaign xmlns='
https://adwords.google.com/api/adwords/v2'> $campaignparams </updateCampaign>";
// Den Kampagnenstatus jetzt updaten
$campaign = $campaignClient->call("updateCampaign", $campaignparamsxml);
// Hier endet die Routine für jede einzelne Kampagne
// Handle any SOAP faults.
if($campaignClient->fault) {
showMyErrors($campaignClient);
return;
}
function showMyErrors($client) {
echo "<P>FAULT: {$client->fault}<br>\n";
echo "<P>Code: {$client->faultcode}<br>\n";
echo "<P>String: {$client->faultstring}<br>\n";
echo "<P>Detail: {$client->faultdetail}<br>\n";
}
?>
Diese Datei genauso wie die obere auf Deine gewünschten Kampagnen einstellen.
Beide Dateien kopierst Du dann in das Verzeichnis "Schaltung.
Zum Schluß richtest Du Dir noch einen kostenlosen Account auf
www.cronjob.de ein, und sagst dann, daß Deine
https://www.domain.de/Schaltung/aus.php um 11 Uhr und Deine
https://www.domain.de/Schaltung/an.php um 15 Uhr gestartet werden sollen.
Schon hast Du Deine zeitgesteuerte Anzeige.
Schönen Gruß
Slinky