您可以使用 GoogleAdsFieldService 动态请求以下内容的目录:资源、资源的字段、细分键和指标,它们均位于 GoogleAdsService Search 和 SearchStream 方法中。该目录提供了各种元数据,可供 Google Ads API 客户端用于验证和构建 Google Ads 查询语言语句。
示例 HTTP 请求和响应
在以下网址中,该请求包含一个指向 Google Ads API 服务器的 HTTP GET:
https://googleads.googleapis.com/v22/googleAdsFields/{resource_or_field}
以下示例展示了请求以及 GoogleAdsFieldService 针对 ad_group 资源返回的响应:
请求
https://googleads.googleapis.com/v22/googleAdsFields/ad_group
响应
{
"resourceName": "googleAdsFields/ad_group",
"name": "ad_group",
"category": "RESOURCE",
"selectable": false,
"filterable": false,
"sortable": false,
"selectableWith": [
"campaign",
"customer",
"metrics.average_cpc",
"segments.device",
...
],
"attributeResources": [
"customer",
"campaign"
],
"metrics": [
"metrics.conversions",
"metrics.search_budget_lost_impression_share",
"metrics.average_cost",
"metrics.clicks",
...
],
"segments": [
"segments.date",
"segments.ad_network_type",
"segments.device",
...
]
}
在本例中,重要的数组是:
attributeResources- 可隐式连接到
FROM子句中的资源的资源。 metrics- 可使用
FROM子句中的资源进行选择的指标。仅对于category为RESOURCE的字段,此指标才会显示内容。 segments- 可使用
FROM子句中的资源进行选择的细分键。 这些键用于细分相关查询中指定的指标。仅对于category为RESOURCE的字段,此字段才会显示内容。 selectableWith-
资源或细分字段的
selectableWith属性用于指定可在同一 GAQL 查询中选择的其他资源、细分或指标。如果您想包含未在FROM子句中指定的资源或细分的字段,此属性至关重要。构建 GAQL 查询时:
FROM子句中的资源是主要实体。您可以随时从此资源中选择字段。- 您还可以选择与主要实体兼容的指标和细分。
- 如果您在
FROM子句之外包含任何资源或细分的字段,则必须确保此非FROM资源或细分与查询中选择的所有其他字段、细分和指标兼容。
特定资源(我们称之为资源 A)的
selectableWith列表包含所有其他资源、细分和指标,当资源 A 不是主要实体时,这些资源、细分和指标可以与资源 A 中的字段一起选择。示例:
请考虑以下查询示例:
SELECT ad_group.id, segments.date, campaign.name FROM ad_groupFROM子句用于指定ad_group。此查询会选择
ad_group.id(来自FROM资源)、segments.date和campaign.name。由于选择了
campaign.name,但FROM子句中没有campaign,因此您必须验证其与其他所选元素的兼容性。为确保此查询有效,
campaign资源必须与segments.date(所选的另一个字段)兼容。因此,您必须检查campaign资源的selectableWith属性。如果segments.date存在于campaign的selectableWith列表中,则查询有效。
如果您从
FROM子句中未包含的资源中选择字段,则相应资源的selectableWith列表必须包含SELECT子句中存在的所有其他细分和资源。
元数据详情
您可以在以下级别使用 GoogleAdsFieldService 请求目录:
- 资源
- 例如,
googleAdsFields/campaign。 - 资源的字段
- 例如,
googleAdsFields/campaign.name。 - 细分字段
- 例如,
googleAdsFields/segments.ad_network_type。 - 指标
- 例如,
googleAdsFields/metrics.clicks。