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. foreach ($imageCreatives as $creative) { printf("An image creative with ID %d, name '%s', and size '%sx%s' was created " . "and can be previewed at: '%s'\n", $creative->id, $creative->name, $creative->size->width, $creative->size->height, $creative->previewUrl);