require_once 'Google/Api/Ads/Dfp/Lib/DfpUser.php'; require_once 'Google/Api/Ads/Dfp/Util/v201608/StatementBuilder.php'; require_once dirname(__FILE__) . '/../../../Common/ExampleUtils.php'; // Set the ID of the image creative to copy. $creativeId = 'INSERT_CREATIVE_ID_HERE'; 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 CreativeService. $creativeService = $user->GetService('CreativeService', 'v201608'); // Create a statement to get the image creative. $statementBuilder = new StatementBuilder(); $statementBuilder->where('id = :id')->orderBy("id ASC")->limit(StatementBuilder::SUGGESTED_PAGE_LIMIT)->withBindVariableValue('id', $creativeId); // Get the creative. $imageCreative = $creativeService->getCreativesByStatement($statementBuilder->toStatement())->results[0]; // Fetch the image asset. $assetToCopy = $imageCreative->primaryImageAsset; $aspectRatioSize = $imageCreative->size; $aspectRatioSize->isAspectRatio = true; $newImageCreative = new AspectRatioImageCreative(); $newImageCreative->name = 'Copy of original image creative'; $newImageCreative->size = $aspectRatioSize; $newImageCreative->advertiserId = $imageCreative->advertiserId; $newImageCreative->imageAssets = array($assetToCopy); $newImageCreative->destinationUrl = $imageCreative->destinationUrl; // Create the new image creative on the server. $imageCreatives = $creativeService->createCreatives(array($newImageCreative)); // Display results.