I'm trying to create an display upload ad in Google Ads API v14, but I'm encountering issues. Specifically, I'm getting an "INVALID_ARGUMENT" error with the message "Mutates are not allowed for the requested resource."
def create_display_upload_ad_group_ad(client, customer_id, ad_group_id, ad_asset_resource_name): """Creates a new HTML5 display upload ad and adds it to the given ad group. Args: client: An initialized Google Ads client. customer_id: The Google Ads customer ID. ad_group_id: The ID of the ad group to which the new ad will be added. ad_asset_resource_name: The resource name of the media bundle containing the HTML5 components. """ # Get the AdGroupAdService client. ad_group_ad_service = client.get_service("AdGroupAdService") # Create an AdGroupAdOperation. ad_group_ad_operation = client.get_type("AdGroupAdOperation") # Configure the ad group ad fields. ad_group_ad = ad_group_ad_operation.create ad_group_ad.status = client.enums.AdGroupAdStatusEnum.PAUSED ad_group_ad.ad_group = client.get_service("AdGroupService").ad_group_path( customer_id, ad_group_id ) # Configured the ad as a display upload ad. display_upload_ad = ad_group_ad.ad display_upload_ad.name = "Ad for HTML5" display_upload_ad.final_urls.append("http://example.com/html5") # Exactly one of the ad_data "oneof" fields must be included to specify the # ad type. See: https://developers.google.com/google-ads/api/reference/rpc/latest/Ad for # the full list of available types. By setting a "display_upload_ad" # subfield it sets that as the "oneof" field for the Ad. display_upload_ad.display_upload_ad.media_bundle.asset = ( ad_asset_resource_name ) display_upload_ad.display_upload_ad.display_upload_product_type = ( client.enums.DisplayUploadProductTypeEnum.HTML5_UPLOAD_AD ) # Add the ad group ad to the client account and display the resulting # ad's resource name. mutate_ad_group_ads_response = ad_group_ad_service.mutate_ad_group_ads( customer_id=customer_id, operations=[ad_group_ad_operation] ) print( "Created new ad group ad with resource name " f"'{mutate_ad_group_ads_response.results[0].resource_name}'." )
Error Message:
Request with ID "xKDxTq8R83Lu7ElSsLBwYw" failed with status "INVALID_ARGUMENT" and includes the following errors: Error with message "Mutates are not allowed for the requested resource.". On field: operations On field: create On field: ad
file was uploaded and returned the path Uploaded file with resource name 'customers/12344/assets/12234' and I entered it in the function's ad_asset_resource_name
i try to v14
Despite these checks, I'm still encountering the same error. Any insights or suggestions on what might be going wrong would be greatly appreciated.