Adding Image extensions through Google ads API
I am using this script based on the documentation: https://developers.google.com/google-ads/api/samples/add-image-extension
def create_image_extensions(df): for index,row in df.iterrows(): extension_feed_item_service = client.get_service("ExtensionFeedItemService") extension_feed_item_operation = client.get_type("ExtensionFeedItemOperation") extension_feed_item = extension_feed_item_operation.create extension_feed_item.image_feed_item.image_asset = client.get_service("AssetService").asset_path(account_id, row.asset_id) response = extension_feed_item_service.mutate_extension_feed_items(customer_id=account_id, operations=\[extension_feed_item_operation\]) image_resource_name = response.results\[0\].resource_name print("Created an image extension with resource name: "f"'{image_resource_name}'") campaign_extension_setting_service = client.get_service("CampaignExtensionSettingService") campaign_extension_setting_operation = client.get_type("CampaignExtensionSettingOperation") ces = campaign_extension_setting_operation.create ces.campaign = client.get_service("CampaignService").campaign_path(account_id, row.campaign_id) ces.extension_type = client.enums.ExtensionTypeEnum.IMAGE ces.extension_feed_items.append(image_resource_name) response = ( campaign_extension_setting_service.mutate_campaign_extension_settings( customer_id=account_id, operations=[campaign_extension_setting_operation], ) ) print("Created a campaign extension setting with resource name: "f"'{response.results[0].resource_name}'")`
But running into an error now:
Method: /google.ads.googleads.v15.services.ExtensionFeedItemService/MutateExtensionFeedItems, RequestId: B5OFT8TdalKrrmx0lEdMkA, IsFault: True, FaultMessage: Feed-based extension is read-only for this extension type. error_code { feed_error: LEGACY_EXTENSION_TYPE_READ_ONLY } message: "Feed-based extension is read-only for this extension type."