Articoli, news e pillole sul mondo LAMP e l'opensource. Pillole di C#
Archivio di July 2006
Breve how to utilizzo API di Google Adwords con PHP
21 Jul
Ciao a tutti,
di seguito vediamo un breve how to per utilizzare con php le API di Google Adwords per creare sistemi di interazione tramite i potenziali clienti ed il sistema di Google Adwords (senza dover accedere con i rischi del caso al pannello di Adwords), oppure per monitorare eventuali problemi di più account tutte le notti etc…
Le applicazioni sono veramente tantissime.
Nello specifico ci concentreremo su come connettersi alle API (protocollo V4 da pochi giorni) e come interrogare una data campagna e i report sulle parole chiave.
LIBRERIE APILITY
Personalmente ho utilizzato le librerie opensource Apility che se non dico male sono anche supportate da Google stesso.
Scaricate l’ultima versione che ha supporto al protocollo V.4
CONNESSIONE ALL’ACCOUNT
Dopo essersi creati dal sistema di Google Adwords il proprio token sviluppatore per l’accesso alle API stesse possiamo cominciare.
Prima di tutto includiamo le librerie:
// Inclusione delle librerie
require_once(‘PATH_TO_APILITY/apility.php’);
A questo punto procediamo con la connessione.
// Autenticazione sul sistema (eventualmente la si puà fare dinamica)
$authenticationContext = new Authentication
(
“accountcentroclienti@miasocieta.tld”,
“miapassword”,
“miotoken”,
“mailadvcliente@dominiocliente.tld”
);
RECUPERO XML CON I DATI COMPLETI DELLE PAROLE CHIAVE PER TUTTE LE CAMPAGNE E GRUPPI DI ANNUNCI
A questo punto è possibile mediante la funzione: getXmlReport farsi ritornare da Adwords un file XML con tutti i dati della campagna.
Esempio di codice:
// Codice di esempio per recupero XML con i dati della campagna e relative parole chiave con setup periodo da ieri a oggi
$today = gmdate(“Y-m-d”, mktime(date(“H”), date(“i”), date(“s”), date(“m”) , date(“d”) , date(“Y”)));
$yesterday = gmdate(“Y-m-d”, mktime(date(“H”), date(“i”), date(“s”), date(“m”) , date(“d”) – 1 , date(“Y”)));
$xmlReport = getXmlReport(“Report Customer”, “KeywordReportJob”, “Summary”, $yesterday, $today, 20);
Ovviamente è possibile personalizzare al 100% i dati relativi alla data di inizio e fine ricerca.
Sarà ritornato come da manuale un XML con queste caratteristiche:
String reportName
String reportType   // Valid values: “KeywordReportJob”, “AdTextReportJob”, “UrlReportJob”, “CustomReportJob”
String aggregationType   // Valid values: “Summary”, “Daily”, “Monthly”, “Quarterly”, “Yearly”
String startDate
String endDate
Integer sleepTime   // Enter the time interval in seconds between checks on the Report’s status.
// This value should be chosen carefully depending on the complexity of the scheduled report.
{Boolean isCrossClient}
{[String] clientEmails}
{[String] customOptions}
{Boolean includeZeroImpression}
ELABORAZIONE DATO XML
Ora possiamo elaborare questo XML per stampare a video il report.
Non starà ora a spiegare nel dettaglio il tutto anche perchè non è lo scopo di questo post, vi consiglio perà di utilizzare questa comodissima funzione per la conversione da XML ad array che ritengo più comodi da smanettare rispetto a XML, soprattutto con php 4.
Ovviamente i campi di applicazione possono essere molteplici, come per esempio fare stime, creare campagne etc…
Con queste basi e con la reference di Apility sarà tutto possibile.
ATTENZIONE PUNTI CENTRO API
Fate molta attenzione che Google per ogni richiesta API scala dei punti che vengono assegnati mensilmente in base al quantitativo di traffico gestito dall’account clienti.
Ciao a tutti, Maxgrante
info[AT]massimo-caselli[DOT]com