Showing posts with label adsense api. Show all posts
Showing posts with label adsense api. Show all posts

Wednesday, April 30, 2014

Google AdSense API PHP Integration

Get More Money/Income from AdSense and Increase your Google Ads Revenue by Integrating and Customizing Ads using Google AdSense API. A sample GenerateAdCode method integration using NuSoap Client for Google AdSense API.

Source Code
<?php

require_once 'soapclient/nusoap.php';
require_once 'common.php';

$live  = FALSE;

define('EMAIL', '<YOUR-GOOGLE-DEVELOPER-EMAIL>');
define('PASSWORD', '<YOUR-GOOGLE-DEVELOPER-PASSWORD>');
define('CLIENT_ID', '<YOUR-GOOGLE-CLIENT-ID>');

if($live){
        $server = 'https://www.google.com';
    }else{
        $server = 'https://sandbox.google.com';
}

$namespace = 'http://www.google.com/api/adsense/v3';

/* Authentication Headers */

$header     = EMAIL . PASSWORD . CLIENT_ID;

/* Creating Soap Client Request */

$wsdl   = $server . '/api/adsense/v3/AccountService?wsdl';
$client = new soapclient($wsdl, true);
$err    = $client->getError();

if ($err) {
  showSoapClientError($err);
  return;
}
$client->soap_defencoding = 'UTF-8';

/* Set the headers; they are needed for authentication */
$client->setHeaders($header);
if ($client->fault) {
  showMyErrors($client);
  return;
}
$err = $client->getError();
if ($err) {
  showSoapClientError($err);
  return;
}

/* setting the parameter */
$param = "<ns1:getSyndicationService xmlns:ns1=\"$namespace\"><synServiceType><value>ContentAds</value></synServiceType></ns1:getSyndicationService>";

/* invoke web service */
showCall('getSyndicationService', $param);
$response = $client->call('getSyndicationService', $param, $namespace);
if ($client->fault) {
  showMyErrors($client);
  return;
}
$err = $client->getError();
if ($err) {
  showSoapClientError($err);
  return;
}

/* get back the response */
$response = $response['return'];
$synServiceId = $response['id'];
showSynServiceId($synServiceId);


/* showing the soap */
showRequestResponse($client);


// setup client soap for another webservice
$wsdl = $server . '/api/adsense/v3/AdSenseForContentService?wsdl';
$client = new soapclient($wsdl, true);
$err = $client->getError();
if ($err) {
  showSoapClientError($err);
  return;
}
$client->soap_defencoding = 'UTF-8';

/* Set the headers; they are needed for authentication */
$client->setHeaders($header);
if ($client->fault) {
  showMyErrors($client);
  return;
}
$err = $client->getError();
if ($err) {
  showSoapClientError($err);
  return;
}

/* setting up adstyle parameter */
$ads_param = '<adStyle>';
$ads_param .= "<name>demoStyle</name>";
$ads_param .= '<borderColor>#0000FF</borderColor>';
$ads_param .= '<backgroundColor>#FFFFFF</backgroundColor>';
$ads_param .= '<titleColor>#FF0000</titleColor>';
$ads_param .= '<textColor>#00FF00</textColor>';
$ads_param .= '<urlColor>#FFFF00</urlColor>';
$ads_param .= '</adStyle>';

/* setting up parameter */
$param = '<synServiceId>'.$synServiceId.'</synServiceId>';
$param .= $ads_param;
$param .= '<adUnitType><value>TextOnly</value></adUnitType>';
$param .= '<layout><value>728x90</value></layout>';
$param .= '<alternate>#FFFFFF</alternate>';
$param .= '<isFramedPage type="xsd:boolean">false</isFramedPage>';
$param .= '<channelName xsi:nil="true"/>';
$param .= '<cornerStyles><value>DEFAULT</value></cornerStyles>';

$param = "<ns1:generateAdCode xmlns:ns1=\"$namespace\">" . $param . "</ns1:generateAdCode>";

/* invoke the web service */
showCall('generateAdCode', $param);
$response = $client->call('generateAdCode', $param, $namespace);
if ($client->fault) {
  showMyErrors($client);
  return;
}
$err = $client->getError();
if ($err) {
  showSoapClientError($err);
  return;
}

$response = $response['return'];
$snippet = $response;
showSnippet($snippet);

/* showing the soap */
showRequestResponse($client);

?>


Genesis Framework for WordPress