Możesz używać GoogleAdsFieldService (za pomocą GetGoogleAdsField lub SearchGoogleAdsFields), aby dynamicznie wysyłać żądania dotyczące katalogu zasobów, pól zasobów, kluczy segmentacji i danych dostępnych w metodach GoogleAdsService Search i SearchStream. Katalog zawiera metadane, które mogą być używane przez klientów interfejsu Google Ads API do sprawdzania poprawności i tworzenia instrukcji w języku Google Ads Query Language.
Przykładowe żądanie i odpowiedź HTTP
Żądanie składa się z HTTP GET do serwera interfejsu Google Ads API pod tym adresem URL:
https://googleads.googleapis.com/v26/googleAdsFields/{resource_or_field}
Poniższy przykład pokazuje żądanie, a następnie odpowiedź zwróconą przez GoogleAdsFieldService dla zasobu ad_group:
Żądanie
https://googleads.googleapis.com/v26/googleAdsFields/ad_group
Odpowiedź
{
"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"
]
}
W tym przykładzie ważne tablice to:
attributeResources- Zasoby, które można niejawnie dołączyć do zasobu w klauzuli
FROMbez segmentowania danych. Wartość jest podawana tylko w przypadku pól, w którychcategorytoRESOURCE. metrics- Dane, które można wybrać z zasobem w klauzuli
FROM. Informacja podawana tylko w przypadku pól, w którychcategorytoRESOURCE. segments- Klucze segmentów (pola
segments.*i zasoby segmentujące), które można wybrać z zasobem w klauzuliFROM. Dzielą one na segmenty dane określone w zapytaniu. Wartość jest podawana tylko w przypadku pól, w którychcategorytoRESOURCE. selectableWith- Zasoby, segmenty lub dane, które można wybrać w tym samym zapytaniu w języku Google Ads Query Language, gdy ten zasób lub segment nie jest głównym zasobem w klauzuli
FROM.
Sprawdzanie zgodności z selectableWith
Atrybut selectableWith w polu zasobu lub segmentu określa inne zasoby, segmenty lub dane, które można wybrać w tym samym zapytaniu w języku zapytań Google Ads.
Ten atrybut jest kluczowy, gdy chcesz uwzględnić pola z zasobu lub segmentu, który nie jest określony w klauzuli FROM.
Podczas tworzenia zapytania w języku Google Ads Query Language:
- Zasób w klauzuli
FROMjest encją podstawową. Zawsze możesz wybrać pola z tego zasobu. - Możesz też wybrać zgodne dane i segmenty, które są dostępne w przypadku elementu podstawowego.
- Jeśli uwzględnisz pola z dowolnego zasobu lub segmentu spoza klauzuli
FROM, musisz się upewnić, że ten zasób lub segment spoza klauzuliFROMjest zgodny ze wszystkimi innymi polami, segmentami i danymi wybranymi w zapytaniu.
Lista selectableWith dla konkretnego zasobu (zasób A) zawiera wszystkie inne zasoby, segmenty i rodzaje danych, które można wybrać razem z polami z zasobu A, gdy zasób A nie jest elementem nadrzędnym.
Przykład
Przeanalizuj to przykładowe zapytanie:
SELECT ad_group.id, segments.date, campaign.name FROM ad_group
- Klauzula
FROMokreślaad_group. - To zapytanie wybiera
ad_group.id(z zasobuFROM),segments.dateicampaign.name. - Ponieważ wybrano
campaign.name, alecampaignnie znajduje się w klauzuliFROM, musisz sprawdzić zgodność z innymi wybranymi elementami. - Aby to zapytanie było prawidłowe, zasób
campaignmusi być zgodny z zasobemsegments.date(wybrano inne pole). Dlatego musisz sprawdzić atrybutselectableWithzasobucampaign. Jeślisegments.dateznajduje się na liścieselectableWithużytkownikacampaign, zapytanie jest prawidłowe.
Jeśli wybierzesz pola z zasobu, którego nie ma w klauzuli FROM, lista selectableWith tego zasobu musi zawierać wszystkie inne segmenty i zasoby obecne w klauzuli SELECT.
Szczegóły metadanych
Możesz poprosić o katalog za pomocą GoogleAdsFieldService (według nazwy zasobu z GetGoogleAdsField lub przez zapytanie z SearchGoogleAdsFields) na tych poziomach GoogleAdsFieldCategory:
- Zasób (
RESOURCE) - Na przykład:
googleAdsFields/campaign. - Atrybut zasobu (
ATTRIBUTE) - Na przykład:
googleAdsFields/campaign.name. - Pole segmentacji (
SEGMENT) - Na przykład:
googleAdsFields/segments.ad_network_type. - Wskaźnik (
METRIC) - Na przykład:
googleAdsFields/metrics.clicks.