/**
 * Finds the root ad unit for the user.
 * @param DfpUser $user the user to get the root ad unit for
 * @return the ad unit representing the root ad unit or <var>NULL</var> if one
 *     is not found.
 * @access private
 */
function FindRootAdUnit(DfpUser $user)
{
    // Get the InventoryService.
    $inventoryService = $user->GetInventoryService('v201103');
    // Create a statement to only select image creatives.
    $filterStatement = new Statement("WHERE parentId IS NULL LIMIT 1");
    // Get ad units by statement.
    $page = $inventoryService->getAdUnitsByStatement($filterStatement);
    if (isset($page->results)) {
        return $page->results[0];
    } else {
        return NULL;
    }
}
// You can set the include path to src directory or reference
// DfpUser.php directly via require_once.
// $path = '/path/to/dfp_api_php_lib/src';
$path = dirname(__FILE__) . '/../../../src';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
require_once 'Google/Api/Ads/Dfp/Lib/DfpUser.php';
try {
    // Get DfpUser from credentials in "../auth.ini"
    // relative to the DfpUser.php file's directory.
    $user = new DfpUser();
    // Log SOAP XML request and response.
    $user->LogDefaults();
    // Get the PlacementService.
    $placementService = $user->GetPlacementService('v201104');
    // Get the InventoryService.
    $inventoryService = $user->GetInventoryService('v201104');
    // Create local placement object to store skyscraper ad units.
    $skyscraperAdUnitPlacement = new Placement();
    $skyscraperAdUnitPlacement->name = 'Skyscraper AdUnit Placement #' . time();
    $skyscraperAdUnitPlacement->description = 'Contains ad units that can hold creatives of size 120x600';
    // Create local placement object to store medium square ad units.
    $mediumSquareAdUnitPlacement = new Placement();
    $mediumSquareAdUnitPlacement->name = 'Medium Square AdUnit Placement #' . time();
    $mediumSquareAdUnitPlacement->description = 'Contains ad units that can hold creatives of size 300x250';
    // Create local placement object to store banner ad units.
    $bannerAdUnitPlacement = new Placement();
    $bannerAdUnitPlacement->name = 'Banner AdUnit Placement #' . time();
    $bannerAdUnitPlacement->description = 'Contains ad units that can hold creatives of size 468x60';
    // Get the first 500 ad units.
    $filterStatement = new Statement('LIMIT 500');
    $page = $inventoryService->getAdUnitsByStatement($filterStatement);