hi guys, I am currently working on using V13 of the API in order to upload 
image extensions and link them at a campaign and/or adgroup level. The 
example code in the SDK currently is showing the soon to be deprecated 
method which involves creating a feed item etc in order to do this. I am 
wanting to achieve this using Assets and linking the asset to an entity at 
the required level. Currently my code is attempting to upload the asset as 
an image, and then attepting to link that asset to a given level. I seem to 
be able to upload the asset to google ads system as I am getting a resource 
id returned. After this I am attempting to link the asset, which has the 
asset type of "IMAGE", into a campaign/ad group. The issue here is that 
there are several seemingly relevant AssetFieldType values available, but I 
have tried each of these (MARKETING_IMAGE, AD_IMAGE, 
SQUARE_MARKETING_IMAGE), and they are all returning the same error at the 
point of trying to link: ``` Fault ------- Status code: 3 Failure: 
{"errors":[{"errorCode":{"assetLinkError":"UNSUPPORTED_FIELD_TYPE"},"message":"The
 
given field type is not supported to be added directly through asset 
links.","trigger":{"stringValue":"MARKETING_IMAGE"},"location":{"fieldPathElements":[{"fieldName":"operations","index":0},{"fieldName":"create"},{"fieldName":"field_type"}]}}],"requestId":"M35CAIZIoeepuJh1RKVKaw"}
 
[] Log Level: NOTICE ``` My current code looks something like: <?php 
require "vendor/autoload.php"; use 
Google\Ads\GoogleAds\V13\Common\ImageAsset; use 
Google\Ads\GoogleAds\V13\Enums\AssetFieldTypeEnum\AssetFieldType; use 
Google\Ads\GoogleAds\V13\Resources\Asset; $googleAdsClient = new 
GoogleClient(); $customerId = "123456789"; $adGroupId = "123456789"; $asset 
= new Asset([ "name" => $asset['name'], "image_asset" => new 
ImageAsset(['data' => file_get_contents($asset['url'])]), ]); // upload 
asset, returns asset resource name eg: // $assetResourceName = 
"example/1234/example/1234"; $imageExtensionAdGroupAssetOperations = [ new 
AdGroupAssetOperation([ "create" => new AdGroupAsset([ "asset" => 
$assetResourceName, "ad_group" => ResourceNames::forAdGroup( 
$runningJob->getCustomerId(), $adGroupId ), "field_type" => 
AssetFieldType::MARKETING_IMAGE, ])]) ]; $adGroupAssetServiceClient = 
$googleAdsClient->getAdGroupAssetServiceClient(); $response = 
$adGroupAssetServiceClient->mutateAdGroupAssets( $customerId, 
$imageExtensionAdGroupAssetOperations ); is there any documentation 
available on what the differences between all of these different 
AssetFieldType values actually relate to (MARKETING_IMAGE, AD_IMAGE, 
SQUARE_MARKETING_IMAGE) and why they are not compatible with an IMAGE type 
asset? is this expected behavior? It seems like there is no way forward 
that I can see in order to properly link an image asset to any of these 
asset field types. Or is there some part which I am getting wrong along the 
way? thanks in advance for clarifying

-- 
-- 
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~
Also find us on our blog:
https://googleadsdeveloper.blogspot.com/
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~

You received this message because you are subscribed to the Google
Groups "AdWords API and Google Ads API Forum" group.
To post to this group, send email to adwords-api@googlegroups.com
To unsubscribe from this group, send email to
adwords-api+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/adwords-api?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Google Ads API and AdWords API Forum" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to adwords-api+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/adwords-api/70b7c4b4-5385-4cd1-8ece-da37dfe90d94n%40googlegroups.com.
  • im... Tommy Bradbury
    • ... Tommy Bradbury
      • ... 'Google Ads API Forum Advisor' via Google Ads API and AdWords API Forum
        • ... Daniel Larsson

Reply via email to