我正在尝试通过Google Ads API访问显示广告图像。目前,我的代码似乎不适用于某些广告。从我迄今为止的调试工作来看,问题是它不适用于HTML5广告。
这是我正在使用的查询:
SELECT
ad_group.name,
campaign.name,
ad_group_ad.ad.responsive_display_ad.logo_images,
ad_group_ad.ad.responsive_display_ad.marketing_images,
ad_group_ad.ad.image_ad.preview_image_url,
ad_group_ad.ad.image_ad.image_url
FROM
ad_group_ad
WHERE
campaign.advertising_channel_type = 'DISPLAY'
LIMIT
100
对于使用HTML5广告的帐户,最后(4(个字段中的任何一个都不会返回。对于其他帐户,我使用"ad_group_ad.ad.image_ad.image_url"字段来获取广告图像。
我错过了什么?
ad_group_ad.ad
有一个伪属性ad_data
,它是一个联合字段,根据所表示的广告类型,它将有一个特定的有效名称。请参阅Ad
资源的文档。
具体而言,这意味着ad_group_ad.ad.image_ad
以下的所有字段(如image_url
(将仅为IMAGE_AD
类型的广告填充。类似地,ad.responsive_display_ad.*
将仅包含类型为RESPONSIVE_DISPLAY_AD
的广告的数据。
对于HTML5广告,您可以使用选择器ad_group_ad.ad.display_upload_ad
访问可用字段。然而,你将无法获得广告的图片。