Hello everyone my problem is that after executing the following code
returns an object google me empty, can someone tell me why?
my script is:
<?php
/**
* Este codigo consigue todas las palabras por las que apuesta nuestro
anuncio, y no son negativas
* por defecto en la nueva version de la api, si no se especifica lo
contrario todas las palabras son negativas por defecto
*/
require_once('AuthToken.php');
require_once('SoapClientFactory.php');
# Provide AdWords login information.
$email = 'my-email';
$password = 'XXXX';
$client_email = 'my client';
$user_agent = 'actualweb.es get all criteria code';
$developer_token = '---';
$application_token = '----';
$account_type = 'HOSTED_OR_GOOGLE';
$service = 'adwords';
$namespace = 'https://adwords.google.com/api/adwords/cm/v200906';
//$namespace = 'https://adwords-sandbox.google.com/api/adwords/cm/
v200906';
# Define SOAP
$auth = new AuthToken($email, $password, 'HOSTED_OR_GOOGLE',
'adwords');
//$auth = new AuthToken($email, $password, $account_type, $service);
$headers =
'<RequestHeader xmlns="' . $namespace . '">' .
'<authToken>' . $auth->get_auth_token() . '</authToken>' .
'<clientEmail>' . $client_email . '</clientEmail>' .
'<userAgent>' . $user_agent . '</userAgent>' .
'<developerToken>' . $developer_token . '</developerToken>' .
'<applicationToken>' . $application_token . '</applicationToken>' .
'</RequestHeader>';
// en este punto ya hemos conseguido el token de autentificacion
//ahora hay que cargar el servicio no hacer la llamda y esperar a que
nos responda,
// para ello le pasamos directamente la direccion del servidor, en
este caso el sandbox
// y el servicio que queremos obtener
$servicio_criterio = SoapClientFactory::GetClient(
'https://adwords.google.com/api/adwords/cm/v200906' .
'/AdGroupCriterionService?wsdl', 'wsdl');
$servicio_criterio->setHeaders($headers);
$servicio_criterio->soap_defencoding = 'UTF-8';
$debug = 0;
// peticion xml de las palabras que utilizamos diciendo que no sean
negativas
$request_xml =
'<get xmlns="' . $namespace . '">' .
'<selector>' .
'<criterionUse>BIDDABLE</criterionUse>' .
'<userStatuses>ACTIVE</userStatuses>' .
'</selector>' .
'</get>';
//se hace la llamada a "get" que nos devuelve toda la info de lo que
hemos pedido
$palabras = $servicio_criterio->call('get', $request_xml);
// de esta informacion accedemos a "rval", Criterios de grupos de
anuncios actualizados y añadidos
// y dentro de este a "entries" Las entradas de resultados de esta
página
$palabras = $palabras['rval']['entries'];
//comprobacion de errores
if ($debug) {
show_xml($servicio_criterio);
}
if ($servicio_criterio->fault) {
show_fault($servicio_criterio);
exit(1);
}
// el objeto que obtenemos lo transformamos en una lista, para poder
trabajar con ella
if (!$palabras[0]) {
$palabras = array($palabras);
}
print_r($palabras);
// en este ejemplo mostramos simplemente la informacion obtenida
for ($i = 0; $i < count($palabras); $i++) {
echo 'para el grupo: "' . $palabras[$i]['adGroupId'] . ', palabra
' .
'con id "' . $palabras[$i]['criterion']['id'] . ', y es del tipo
"' .
$palabras[$i]['criterion']['text'] . '".' . "\n";
}
function show_xml($service) {
echo $service->request;
echo $service->response;
echo "\n";
}
function show_fault($service) {
echo "\n";
echo 'Fault: ' . $service->fault . "\n";
echo 'Code: ' . $service->faultcode . "\n";
echo 'String: ' . $service->faultstring . "\n";
echo 'Detail: ' . $service->faultdetail . "\n";
}
?>
thanks and sorry for my english.
--
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Have you migrated to v200909 yet?
The v13 sunset is on April 22, 2010.
Also find us on our blog and discussion group:
http://adwordsapi.blogspot.com
http://groups.google.com/group/adwords-api
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
You received this message because you are subscribed to the Google
Groups "AdWords API Forum" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
To unsubscribe, reply using "remove me" as the subject.