Pobieram obiekty

GoogleAdsService to ujednolicona usługa pobierania obiektów i raportowania w interfejsie Google Ads API. Usługa ma metody, które:

  • Pobieranie określonych atrybutów obiektów.
  • Pobieranie danych o skuteczności obiektów na podstawie zakresu dat.
  • Uporządkuj obiekty na podstawie ich atrybutów.
  • Użyj warunków, aby wskazać, które obiekty mają być zwracane w odpowiedzi.
  • Ogranicz liczbę zwracanych obiektów.

GoogleAdsService może zwracać wyniki na 2 sposoby:

  • GoogleAdsService.SearchStreamzwraca wszystkie wiersze w jednej odpowiedzi przesyłanej strumieniowo,co jest bardziej wydajne w przypadku dużych (ponad 10 tys. wierszy) zbiorów wyników. Może to być bardziej odpowiednie, jeśli aplikacja wsadowa chce pobrać jak najwięcej danych w jak najkrótszym czasie.
  • GoogleAdsService.Search dzieli długie odpowiedzi na mniejsze strony z wynikami. Może to być bardziej odpowiednie, jeśli aplikacja interaktywna wyświetla stronę wyników naraz.

Dowiedz się więcej o stronicowaniu a przesyłaniu strumieniowym.

Poproś

Metoda wyszukiwania wymaga elementu SearchGoogleAdsRequest, który składa się z tych atrybutów:

  • customer_id
  • Język zapytań Google Ads query, który wskazuje zasób, o który należy wysłać zapytanie, atrybuty, segmenty i dane do pobrania oraz warunki, które należy zastosować, aby ograniczyć liczbę zwracanych obiektów.
  • (GoogleAdsService.Search tylko) Opcjonalny page_token do pobierania następnej transzy wyników podczas korzystania z paginacji.

Więcej informacji o języku zapytań Google Ads znajdziesz w przewodniku po języku zapytań Google Ads.

Przetwarzanie odpowiedzi

Funkcja GoogleAdsService zwraca listę obiektów GoogleAdsRow.

Każdy element GoogleAdsRow reprezentuje obiekt zwrócony przez zapytanie i składa się z zestawu atrybutów, które są wypełniane na podstawie pól żądanych w klauzuli SELECT. Atrybuty nieuwzględnione w klauzuli SELECT nie są wypełniane w obiektach GoogleAdsRow w odpowiedzi.

Na przykład chociaż element ad_group_criterion ma atrybut status, pole status atrybutu ad_group_criterion w wierszu nie jest wypełniane w odpowiedzi na zapytanie, w którym klauzula SELECT nie zawiera elementu ad_group_criterion.status. Podobnie atrybut campaign w wierszu nie jest wypełniany, jeśli klauzula SELECT nie zawiera żadnych pól z zasobu campaign.

Każdy GoogleAdsRow może mieć inne atrybuty i dane niż inny wiersz w tym samym zbiorze wyników, więc wiersze należy traktować jako obiekty, a nie stałe wiersze tabeli.

Typy wyliczeniowe UNKNOWN

Zasoby zwracane z typem UNKNOWN nie są w pełni obsługiwane w tej wersji interfejsu API. Te zasoby mogły zostać utworzone za pomocą innych interfejsów, takich jak interfejs Google Ads. Możesz wybierać dane, gdy zasób ma typ UNKNOWN, ale nie możesz zmieniać zasobu za pomocą interfejsu API. Przykładem może być nowa kampania lub reklama wprowadzona w interfejsie, ale nieobsługiwana w wersji interfejsu API, z której korzystasz.

Oto kilka kwestii, o których warto pamiętać:

  • Zasób typu UNKNOWN może być obsługiwany w późniejszym czasie lub pozostać UNKNOWN bezterminowo.
  • Nowe obiekty typu UNKNOWN mogą pojawiać się w dowolnym momencie. Te obiekty są zgodne wstecznie, ponieważ wartość wyliczeniowa jest już dostępna. W ramach tej zmiany wprowadzamy zasoby, które są dostępne, aby zapewnić Ci dokładny wgląd w konto. Zasób UNKNOWN może się pojawić z powodu nowych działań na Twoim koncie w innych interfejsach lub gdy zasób przestanie być obsługiwany.
  • Z zasobami UNKNOWN mogą być powiązane szczegółowe statystyki, które można wysyłać w zapytaniach.
  • UNKNOWN są zwykle w pełni widoczne w interfejsie Google Ads.
  • Zasobów UNKNOWN na ogół nie można zmieniać.

Podział na segmenty

Odpowiedź będzie zawierać 1 GoogleAdsRow dla każdej kombinacji tych elementów:

  • Instancja głównego zasobu określonego w klauzuli FROM
  • Wartość każdego wybranego pola segment

Na przykład odpowiedź na zapytanie, które wybiera FROM campaign i zawiera segments.ad_network_type oraz segments.date w klauzuli SELECT, będzie zawierać 1 wiersz dla każdej kombinacji tych elementów:

  • campaign
  • segments.ad_network_type
  • segments.date

Wyniki są segmentowane niejawnie według każdej instancji głównego zasobu, a nie według wartości poszczególnych wybranych pól. Na przykład

SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS

daje w wyniku 1 wiersz na kampanię, a nie 1 wiersz na każdą odrębną wartość pola campaign.status.