Krótkie wprowadzenie

Ten przewodnik dla początkujących pomoże Ci wykonać pierwsze wywołanie interfejsu Google Ads API.

Kluczowe pojęcia

  • Projekt Google Cloud: projekt Google Cloud stanowi podstawę do tworzenia, włączania i używania wszystkich usług Google, w tym do zarządzania interfejsami API i danymi logowania do interfejsu OAuth 2.0 API. Możesz go utworzyć w konsoli Google Cloud.
  • Poziom dostępu do interfejsu API: Poziom dostępu do interfejsu API w Twoim projekcie w chmurze Google Cloud określa liczbę wywołań interfejsu API, które możesz wykonać dziennie oraz środowiska, do których możesz wysyłać wywołania interfejsu API. Poziom dostępu do interfejsu API w Twoim projekcie jest podany na stronie Przegląd interfejsu Google Ads API.
  • Konto menedżera Google Ads: konto menedżera Google Ads służy do zarządzania innymi kontami Google Ads, które mogą być zbiorem kont klientów Google Ads lub innych kont menedżera Google Ads.
  • Konto klienta Google Ads: konto Google Ads używane do wyświetlania reklam, które chcesz kierować za pomocą wywołań interfejsu API.
  • Identyfikator klienta: 10-cyfrowy numer identyfikujący konto klienta Google Ads. Jeśli ten identyfikator został skopiowany z interfejsu Google Ads, usuń z niego łączniki.
  • OAuth 2.0: OAuth 2.0 to standardowy w branży protokół autoryzacji używany przez wszystkie interfejsy API Google. Aby wywoływać interfejs API, musisz mieć konto usługi i klucz, które pozwolą Ci wygenerować dane logowania OAuth 2.0.
  • Konto usługi: specjalny rodzaj konta Google , które należy do aplikacji, a nie do indywidualnego użytkownika. Służy do uwierzytelniania aplikacji w interfejsie Google Ads API. Aby uzyskać konto usługi, musisz mieć projekt Google Cloud.
  • Klucz konta usługi: plik JSON z danymi logowania aplikacji, który zawiera klucz prywatny konta usługi. Służy do generowania danych logowania OAuth 2.0 na potrzeby uwierzytelniania konta usługi podczas wywoływania interfejsu Google Ads API. Aby uzyskać klucz konta usługi, musisz mieć konto usługi.

Wymagania wstępne

Aby wywołać interfejs Google Ads API, wykonaj te czynności.

Konfigurowanie projektu w chmurze na potrzeby dostępu do interfejsu Google Ads API

Projekt w chmurze Google służy do zarządzania interfejsami API Google i danymi logowania do interfejsu OAuth 2.0 API. Istniejące projekty Google Cloud możesz znaleźć lub utworzyć, odwiedzając konsolę Google Cloud.

Zacznij od włączenia interfejsu Google Ads API w swoim projekcie:

Włącz interfejs Google Ads API

Następnie otwórz stronę Przegląd interfejsu Google Ads API. Na stronie wyświetla się Twój bieżący poziom dostępu do interfejsu API. Jeśli Twój bieżący poziom dostępu do interfejsu API to Testowy, rozwiń sekcję Uaktualnij poziom dostępu. Postępuj zgodnie z instrukcjami, aby poprosić o poziom dostępu Eksplorator.

Gdy wypełnisz formularz, Google automatycznie go sprawdzi i w większości przypadków uaktualni Twój poziom dostępu do Eksploratora. Jeśli nie przyznano Ci dostępu na poziomie Eksploratora, nie martw się. W tym przewodniku znajdziesz odpowiednie instrukcje dotyczące konfigurowania konta klienta Google Ads.

Tworzenie konta usługi

Aby wywoływać interfejs API, musisz mieć konto usługi i klucz konta usługi. Jeśli używasz już innego interfejsu API Google i masz utworzone konto usługi oraz klucz OAuth 2.0, możesz pominąć ten krok i ponownie użyć istniejących danych logowania.

Jak utworzyć konto usługi i klucz

  1. W konsoli Google Cloud kliknij Menu > Administracja i uprawnienia > Konta usługi.

    Otwórz stronę Konta usługi

  2. Wybierz konto usługi.
  3. Kliknij Klucze > Dodaj klucz > Utwórz nowy klucz.
  4. Wybierz JSON, a potem kliknij Utwórz.

    Nowa para kluczy publicznych/prywatnych zostanie wygenerowana i pobrana na Twoje urządzenie jako nowy plik. Zapisz pobrany plik JSON jako credentials.json w katalogu roboczym. To jedyny egzemplarz tego klucza. Nie przesyłaj pliku credentials.json do systemu kontroli wersji (np. dodaj go do pliku .gitignore ).

  5. Kliknij Zamknij.

Zacznij od określenia konta Google Ads, na którym chcesz wywoływać interfejs API. Rodzaj konta, na którym możesz wywoływać interfejs API, zależy od poziomu dostępu do interfejsu API w Twoim projekcie Google Cloud. Poziom dostępu do interfejsu API znajdziesz na stronie Przegląd interfejsu Google Ads API.

Poziomy dostępu Eksplorator, Podstawowy i Standardowy

Możesz wywoływać interfejs API na swoim produkcyjnym koncie Google Ads. Jeśli jednak jest to wymagane, możesz utworzyć testowe konto Google Ads, postępując zgodnie z instrukcjami na karcie Testowanie dostępu.

Testowanie dostępu

Projektu Google Cloud nie można używać do wywoływania interfejsu API na produkcyjnym koncie Google Ads. Możesz wywoływać interfejs API tylko na testowych kontach Google Ads.

Jak utworzyć testowe konto Google Ads

Poniższe instrukcje opisują, jak utworzyć testowe konto menedżera Google Ads i a testowe konto reklamodawcy Google Ads.

  1. Kliknij niebieski przycisk, aby utworzyć testowe konto menedżera Google Ads. Jeśli pojawi się prośba, zaloguj się na konto Google, które nie jest połączone z Twoim Google Ads produkcyjnym kontem menedżera. Jeśli nie masz takiego konta, kliknij przycisk Utwórz konto na tej stronie, aby utworzyć nowe konto Google.

    Utwórz testowe konto menedżera Google Ads

  2. Na testowym koncie menedżera Google Ads utwórz testowe konto klienta Google Ads: kliknij Konta > > Utwórz nowe konto i wypełnij formularz. Wszystkie konta Google Ads utworzone na testowym koncie menedżera Google Ads są automatycznie testowymi kontami Google Ads.
  3. Opcjonalnie możesz utworzyć kilka kampanii na testowym koncie klienta Google Ads na stronie Google Ads.

Aby wywołać interfejs API na koncie klienta Google Ads, musisz przyznać swojemu kontu usługi dostęp do tego konta i odpowiednie uprawnienia. Aby to zrobić, musisz mieć dostęp administratora do konta klienta.

Jak przyznać kontu usługi dostęp do konta Google Ads

  1. Zacznij od zalogowania się na konto Google Ads jako administrator.
  2. Otwórz Administracja > Dostęp i bezpieczeństwo.
  3. Na karcie Użytkownicy kliknij przycisk .
    Strona Dostęp i bezpieczeństwo w Google Ads z przyciskiem dodawania użytkownika
  4. Wpisz adres e-mail konta usługi w polu E-mail. Wybierz odpowiedni poziom dostępu do konta i kliknij Dodaj konto przycisk. Pamiętaj, że poziom dostępu do e-maila nie jest obsługiwany w przypadku kont usługi.
    Okno dodawania adresu e-mail konta usługi i wybierania poziomu dostępu
  5. Konto usługi ma teraz dostęp.
    Strona „Dostęp i bezpieczeństwo” z kontem usługi, które ma dostęp
  6. [Opcjonalnie] Podczas początkowej konfiguracji nie możesz przyznać kontu usługi dostępu administratora. Jeśli wywołania interfejsu API wymagają dostępu administratora, możesz go uaktualnić w ten sposób.
    1. Obok poziomu dostępu konta usługi w kolumnie Poziom dostępu kliknij strzałkę w dół.
    2. Z listy rozwijanej wybierz Administrator.

Pobieranie narzędzi i bibliotek klienta

W zależności od tego, jak chcesz wywoływać interfejs API, możesz pobrać bibliotekę klienta lub klienta HTTP.

Używanie biblioteki klienta

Pobierz i zainstaluj wybraną bibliotekę klienta.

Używanie klienta HTTP (REST)

curl

Pobierz i zainstaluj curl, narzędzie wiersza poleceń do przesyłania danych za pomocą adresu URL.

Interfejs wiersza poleceń Google Cloud

Aby zainstalować the gcloud CLI, postępuj zgodnie z instrukcjami w przewodniku instalacji Google Cloud CLI.

Instrukcje w pozostałej części tego przewodnika zostały sprawdzone pod kątem zgodności z tą wersją narzędzia gcloud i mogą nie działać w poprzednich wersjach ze względu na różnice w działaniu aplikacji lub opcjach wiersza poleceń.

:~$ gcloud version
Google Cloud SDK 492.0.0
alpha 2024.09.06
beta 2024.09.06
bq 2.1.8
bundled-python3-unix 3.11.9
core 2024.09.06
enterprise-certificate-proxy 0.3.2
gcloud-crc32c 1.0.0
gsutil 5.30

Wywoływanie interfejsu API

Aby uzyskać instrukcje dotyczące wywoływania interfejsu API, wybierz klienta:

Java

Artefakty biblioteki klienta są publikowane w centralnym repozytorium Maven.

Aby zarządzać wersjami zależności i zapobiegać konfliktom, zapoznaj się z przewodnikiem dotyczącym zestawienia materiałów (BOM) interfejsu Google Ads API.

Jeśli nie używasz BOM, dodaj bibliotekę klienta bezpośrednio do projektu za pomocą jednego z tych narzędzi do kompilacji:

Maven: dodaj do pliku pom.xml tę zależność:

<dependency>
  <groupId>com.google.api-ads</groupId>
  <artifactId>google-ads</artifactId>
  <version>48.0.0</version>
</dependency>

Gradle: dodaj do pliku build.gradle tę zależność:

implementation 'com.google.api-ads:google-ads:48.0.0'

W katalogu głównym utwórz plik ads.properties (~/ads.properties w systemach Linux i macOS lub %USERPROFILE%\ads.properties w systemie Windows) o tej zawartości:

api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH
api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE

Zanim uruchomisz żądania do interfejsu API, utwórz instancję GoogleAdsClient. Domyślnie funkcja fromPropertiesFile() wczytuje dane logowania z pliku ads.properties znajdującego się w katalogu głównym:

GoogleAdsClient googleAdsClient;
try {
  googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build();
} catch (IOException e) {
  System.err.printf("Failed to create GoogleAdsClient: %s%n", e);
  throw new RuntimeException("Initialization failed", e);
}

Następnie uruchom raport kampanii za pomocą GoogleAdsService.SearchStream aby efektywnie przesyłać strumieniowo duże zbiory wyników i pobierać kampanie na swoim koncie:

    private void runExample(GoogleAdsClient googleAdsClient, long customerId) {
  try (GoogleAdsServiceClient googleAdsServiceClient =
      googleAdsClient.getLatestVersion().createGoogleAdsServiceClient()) {
    String query = "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id";
    // Constructs the SearchGoogleAdsStreamRequest.
    SearchGoogleAdsStreamRequest request =
        SearchGoogleAdsStreamRequest.newBuilder()
            .setCustomerId(Long.toString(customerId))
            .setQuery(query)
            .build();

    // Creates and issues a search Google Ads stream request that will retrieve all campaigns.
    ServerStream<SearchGoogleAdsStreamResponse> stream =
        googleAdsServiceClient.searchStreamCallable().call(request);

    // Iterates through and prints all of the results in the stream response.
    for (SearchGoogleAdsStreamResponse response : stream) {
      for (GoogleAdsRow googleAdsRow : response.getResultsList()) {
        System.out.printf(
            "Campaign with ID %d and name '%s' was found.%n",
            googleAdsRow.getCampaign().getId(), googleAdsRow.getCampaign().getName());
      }
    }
  }
}

C#

Pakiety biblioteki klienta są publikowane w repozytorium NuGet.org. Zacznij od dodania odwołania do pakietu NuGet do pakietu Google.Ads.GoogleAds:

dotnet add package Google.Ads.GoogleAds --version 27.5.0

Aby wywoływać interfejs API, utwórz obiekt GoogleAdsConfig na podstawie ustawień konfiguracji (np. appsettings.json, zmiennych środowiskowych lub ustawień niestandardowych) i przekaż go, aby zainicjować instancję GoogleAdsClient:

GoogleAdsConfig config = new GoogleAdsConfig()
{
    OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,
    OAuth2SecretsJsonPath = "JSON_KEY_FILE_PATH",
    LoginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"
};
GoogleAdsClient client = new GoogleAdsClient(config);

Następnie uruchom raport kampanii za pomocą metody GoogleAdsService.SearchStream, aby pobrać kampanie na swoim koncie. Ten przewodnik nie zawiera szczegółowych informacji o raportowaniu.

    public void Run(GoogleAdsClient client, long customerId)
{
    // Get the GoogleAdsService.
    GoogleAdsServiceClient googleAdsService = client.GetService(
        Services.V26.GoogleAdsService);

    // Create a query that will retrieve all campaigns.
    string query = @"SELECT
                    campaign.id,
                    campaign.name,
                    campaign.network_settings.target_content_network
                FROM campaign
                ORDER BY campaign.id";

    try
    {
        // Issue a search request.
        googleAdsService.SearchStream(customerId.ToString(), query,
            delegate (SearchGoogleAdsStreamResponse resp)
            {
                foreach (GoogleAdsRow googleAdsRow in resp.Results)
                {
                    Console.WriteLine("Campaign with ID {0} and name '{1}' was found.",
                        googleAdsRow.Campaign.Id, googleAdsRow.Campaign.Name);
                }
            }
        );
    }
    catch (GoogleAdsException e)
    {
        Console.WriteLine("Failure:");
        Console.WriteLine($"Message: {e.Message}");
        Console.WriteLine($"Failure: {e.Failure}");
        Console.WriteLine($"Request ID: {e.RequestId}");
        throw;
    }
}

PHP

Pakiety biblioteki klienta są publikowane w repozytorium Packagist. Upewnij się, że masz zainstalowaną zgodną wersję PHP i Composer, a następnie przejdź do katalogu głównego projektu i uruchom to polecenie, aby zainstalować bibliotekę i jej zależności w katalogu vendor/ projektu:

composer require googleads/google-ads-php:35.2.0

Skopiuj plik google_ads_php.ini z repozytorium GitHub, zapisz go w katalogu głównym lub w katalogu głównym projektu i zmodyfikuj go, aby uwzględnić dane logowania:

[GOOGLE_ADS]
loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"

[OAUTH2]
jsonKeyFilePath = "JSON_KEY_FILE_PATH"
scopes = "https://www.googleapis.com/auth/adwords"

Utwórz instancję GoogleAdsClient za pomocą pliku konfiguracji google_ads_php.ini:

use Google\Ads\GoogleAds\Lib\OAuth2TokenBuilder;
use Google\Ads\GoogleAds\Lib\V26\GoogleAdsClientBuilder;

$oauth2Credential = (new OAuth2TokenBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->build();

$googleAdsClient = (new GoogleAdsClientBuilder())
    ->fromFile('/path/to/google_ads_php.ini')
    ->withOAuth2Credential($oauth2Credential)
    ->build();

Następnie uruchom raport kampanii za pomocą metody GoogleAdsService.SearchStream, aby pobrać kampanie na swoim koncie:

    public static function runExample(GoogleAdsClient $googleAdsClient, int $customerId)
{
    $googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient();
    // Creates a query that retrieves all campaigns.
    $query = 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id';
    // Issues a search stream request.
    /** @var GoogleAdsServerStreamDecorator $stream */
    $stream = $googleAdsServiceClient->searchStream(
        SearchGoogleAdsStreamRequest::build($customerId, $query)
    );

    // Iterates over all rows in all messages and prints the requested field values for
    // the campaign in each row.
    foreach ($stream->iterateAllElements() as $googleAdsRow) {
        /** @var GoogleAdsRow $googleAdsRow */
        printf(
            "Campaign with ID %d and name '%s' was found.%s",
            $googleAdsRow->getCampaign()->getId(),
            $googleAdsRow->getCampaign()->getName(),
            PHP_EOL
        );
    }
}

Python

Biblioteka klienta interfejsu Google Ads API dla Pythona jest rozpowszechniana w PyPI. Upewnij się, że masz zainstalowaną obsługiwaną wersję Pythona , a następnie zainstaluj bibliotekę za pomocą pip:

python -m pip install google-ads==34.0.0

Aby uwierzytelnić wywołania interfejsu API, skonfiguruj plik google-ads.yaml:

  1. Pobierz kopię przykładowego google-ads.yaml pliku z repozytorium GitHub.
  2. Zapisz plik w katalogu głównym (~/google-ads.yaml) lub w ścieżce niestandardowej.
  3. Otwórz plik google-ads.yaml i zaktualizuj go, aby uwzględnić dane logowania:

    login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE
    json_key_file_path: JSON_KEY_FILE_PATH
    

    Przed zainicjowaniem klienta skonfiguruj logowanie, aby biblioteka rejestrowała ostrzeżenia dotyczące inicjowania lub konfiguracji. Ten przykład konfiguruje rejestrator biblioteki tak, aby wyświetlał logi INFO w standardowym strumieniu wyjścia (stdout):

import logging
import sys

logger = logging.getLogger("google.ads.googleads.client")
logger.setLevel(logging.INFO)
logger.addHandler(logging.StreamHandler(sys.stdout))

Utwórz instancję GoogleAdsClient, wywołując metodę GoogleAdsClient.load_from_storage i przekazując ścieżkę do pliku google-ads.yaml:

from google.ads.googleads.client import GoogleAdsClient

client = GoogleAdsClient.load_from_storage("path/to/google-ads.yaml")

Jeśli pominiesz argument ścieżki, funkcja load_from_storage() domyślnie będzie szukać pliku konfiguracji w katalogu głównym (~/google-ads.yaml).

Następnie uruchom raport kampanii za pomocą metody GoogleAdsService.SearchStream, aby pobrać kampanie na swoim koncie:

    def main(client: GoogleAdsClient, customer_id: str) -> None:
    ga_service: GoogleAdsServiceClient = client.get_service("GoogleAdsService")

    query: str = """
        SELECT
          campaign.id,
          campaign.name
        FROM campaign
        ORDER BY campaign.id"""

    # Issues a search request using streaming.
    stream: Iterator[SearchGoogleAdsStreamResponse] = ga_service.search_stream(
        customer_id=customer_id, query=query
    )

    for batch in stream:
        rows: List[GoogleAdsRow] = batch.results
        for row in rows:
            print(
                f"Campaign with ID {row.campaign.id} and name "
                f'"{row.campaign.name}" was found.'
            )

Ruby

Gemy Ruby dla biblioteki klienta są publikowane w RubyGems. Upewnij się, że masz zainstalowaną obsługiwaną wersję Ruby, i zainstaluj bibliotekę za pomocą Bundlera:

  1. Dodaj gema do pliku Gemfile aplikacji:

    gem 'google-ads-googleads', '~> 46.0.0'
    
  2. Zainstaluj gema, uruchamiając to polecenie:

    bundle install

Aby skonfigurować dane logowania:

  1. Skopiuj przykładowy google_ads_config.rb plik z repozytorium GitHub.
  2. Zapisz plik w katalogu głównym projektu lub w katalogu głównym (~).
  3. Otwórz plik google_ads_config.rb i zastąp wartości zmiennych danymi logowania do interfejsu Google Ads API:

    Google::Ads::GoogleAds::Config.new do |c|
      c.login_customer_id = 'INSERT_LOGIN_CUSTOMER_ID_HERE'
      c.keyfile = 'JSON_KEY_FILE_PATH'
    end
    

    Utwórz instancję GoogleAdsClient, przekazując ścieżkę do pliku konfiguracji (google_ads_config.rb):

client = Google::Ads::GoogleAds::GoogleAdsClient.new(
  'path/to/google_ads_config.rb'
)

Następnie uruchom raport kampanii za pomocą metody GoogleAdsService.SearchStream, aby pobrać kampanie na swoim koncie:

    def get_campaigns(customer_id)
  # GoogleAdsClient will read a config file from
  # ENV['HOME']/google_ads_config.rb when called without parameters
  client = Google::Ads::GoogleAds::GoogleAdsClient.new

  responses = client.service.google_ads.search_stream(
    customer_id: customer_id,
    query: 'SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id',
  )

  responses.each do |response|
    response.results.each do |row|
      puts "Campaign with ID #{row.campaign.id} and name '#{row.campaign.name}' was found."
    end
  end
end

Perl

Biblioteka klienta Perl jest rozpowszechniana w CPAN i wymaga Perla w wersji 5.28 lub nowszej oraz menedżera pakietów cpan lub cpanm.

  1. Sklonuj repozytorium google-ads-perl w wybranym katalogu:

    git clone https://github.com/googleads/google-ads-perl.git
  2. Przejdź do katalogu google-ads-perl i uruchom te polecenia, aby zainstalować wymagane zależności i skompilować bibliotekę:

    cd google-ads-perl
    cpan install Module::Build
    perl Build.PL
    perl Build installdeps
    perl Build
    perl Build install

Aby skonfigurować dane logowania:

  1. Skopiuj przykładowy googleads.properties plik konfiguracji z repozytorium GitHub do katalogu głównego (~/googleads.properties):

    cp googleads.properties ~/googleads.properties
  2. Edytuj plik ~/googleads.properties, aby uwzględnić dane logowania:

    jsonKeyFilePath=JSON_KEY_FILE_PATH
    loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE
    

    Utwórz instancję Client, przekazując ścieżkę do skonfigurowanego pliku googleads.properties (np. ~/googleads.properties):

my $api_client = Google::Ads::GoogleAds::Client->new({
  properties_file => "/path/to/googleads.properties"
});

Następnie uruchom raport kampanii za pomocą metody GoogleAdsService.SearchStream, aby pobrać kampanie na swoim koncie:

    sub get_campaigns {
  my ($api_client, $customer_id) = @_;

  # Create a search Google Ads stream request that will retrieve all campaigns.
  my $search_stream_request =
    Google::Ads::GoogleAds::V26::Services::GoogleAdsService::SearchGoogleAdsStreamRequest
    ->new({
      customerId => $customer_id,
      query      =>
        "SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id"
    });

  # Get the GoogleAdsService.
  my $google_ads_service = $api_client->GoogleAdsService();

  my $search_stream_handler =
    Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({
      service => $google_ads_service,
      request => $search_stream_request
    });

  # Issue a search request and process the stream response to print the requested
  # field values for the campaign in each row.
  $search_stream_handler->process_contents(
    sub {
      my $google_ads_row = shift;
      printf "Campaign with ID %d and name '%s' was found.\n",
        $google_ads_row->{campaign}{id}, $google_ads_row->{campaign}{name};
    });

  return 1;
}

Po uruchomieniu skrypt przesyła strumieniowo pasujące wiersze i wyświetla identyfikator oraz nazwę każdej kampanii na Twoim koncie.

curl

Zacznij od ustawienia konta usługi jako aktywnych danych logowania w gcloud CLI.

gcloud auth login --cred-file=JSON_KEY_FILE_PATH

Następnie pobierz token dostępu OAuth 2.0 do interfejsu Google Ads API.

gcloud auth \
  print-access-token \
  --scopes='https://www.googleapis.com/auth/adwords'

Utwórz plik o nazwie query.json zawierający żądanie w języku Google Ads Query Language (GAQL):

{
  "query": "SELECT campaign.id, campaign.name, campaign.network_settings.target_content_network FROM campaign ORDER BY campaign.id"
}

Uruchom raport kampanii za pomocą GoogleAdsService.SearchStream metody, aby pobrać kampanie na swoim koncie:

curl -i -X POST \
  https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/googleAds:searchStream \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "login-customer-id: LOGIN_CUSTOMER_ID" \
  --data-binary "@query.json"

Jeśli podczas pierwszego wywołania wystąpią błędy, zapoznaj się z artykułem Obsługa błędów interfejsu API, aby uzyskać wskazówki dotyczące rozwiązywania problemów.