資源中繼資料

您可以使用 GoogleAdsFieldService 動態要求資源目錄、資源的欄位、區隔鍵,以及 GoogleAdsService SearchSearchStream 方法中提供的指標。Google Ads API 用戶端可使用目錄提供的中繼資料,驗證及建構 Google Ads 查詢語言陳述式。

HTTP 要求和回應範例

這項要求包含對下列網址的 Google Ads API 伺服器發出的 HTTP GET

https://googleads.googleapis.com/v22/googleAdsFields/{resource_or_field}

以下範例顯示要求,以及 GoogleAdsFieldServicead_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 子句中的資源一起選取的指標。只有在 categoryRESOURCE 的欄位才會填入資料。
segments
可在 FROM 子句中與資源一起選取的區隔鍵。這些區隔會區隔查詢中指定的指標。只有在 categoryRESOURCE 時,才會填入欄位。
selectableWith

資源或區隔欄位上的 selectableWith 屬性會指定可在相同 GAQL 查詢中選取的其他資源、區隔或指標。如果您想納入 FROM 子句中未指定的資源或區隔欄位,這項屬性就非常重要。

建構 GAQL 查詢時:

  1. FROM 子句中的資源是主要實體。您隨時可以從這項資源選取欄位。
  2. 您也可以選取與主要實體相容的指標和區隔。
  3. 如果您在 FROM 子句以外納入任何資源或區隔的欄位,請務必確認這個非 FROM 資源或區隔與查詢中選取的所有其他欄位、區隔和指標相容。

特定資源 (假設為資源 A) 的 selectableWith 清單包含所有其他資源、區隔和指標,當資源 A 不是主要實體時,可以與資源 A 的欄位一併選取。

範例:

請參考以下查詢範例: SELECT ad_group.id, segments.date, campaign.name FROM ad_group

  • FROM 子句會指定 ad_group

  • 這項查詢會選取 ad_group.id (來自 FROM 資源)、segments.datecampaign.name

  • 由於選取了 campaign.name,但 campaign 不在 FROM 子句中,因此您必須驗證其與其他所選元素的相容性。

  • 為確保這項查詢有效,campaign 資源必須與 segments.date (選取的另一個欄位) 相容。因此,您必須檢查 campaign 資源的 selectableWith 屬性。如果 segments.date 出現在 campaignselectableWith 清單中,查詢就是有效的。

如果您從不在 FROM 子句中的資源選取欄位,該資源的 selectableWith 清單必須包含 SELECT 子句中的所有其他區隔和資源。

中繼資料詳細資料

您可以在下列層級使用 GoogleAdsFieldService 要求目錄:

資源
舉例來說,googleAdsFields/campaign
資源的欄位
舉例來說,googleAdsFields/campaign.name
區隔欄位
舉例來說,googleAdsFields/segments.ad_network_type
指標
舉例來說,googleAdsFields/metrics.clicks