您可以使用 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,但campaign不在FROM子句中,因此您必須驗證其與其他所選元素的相容性。為確保這項查詢有效,
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。