Rozpocznij

Za pomocą interfejsu Google Ad Manager SOAP API możesz tworzyć aplikacje, które zarządzają zasobami reklamowymi, tworzą zamówienia, generują raporty i wykonują inne czynności.

Aby ułatwić Ci rozpoczęcie pracy, udostępniamy biblioteki klientów w językach Java, .NET, Python, PHP i Ruby.

Aby wysłać pierwsze żądanie do interfejsu API, wykonaj te czynności:

Uzyskiwanie dostępu do sieci Ad Managera

Jeśli jeszcze nie masz konta Ad Managera, zarejestruj się. Możesz też utworzyć sieć testową, jeśli chcesz przetestować interfejs API w osobnym środowisku. Pamiętaj, że do celów testowych nie potrzebujesz konta AdSense.

Zanotuj kod sieci. Znajdziesz go w adresie URL po zalogowaniu się w sieci. Na przykład w adresie URL https://admanager.google.com/1234#home kodem sieci jest 1234.

Tworzenie danych uwierzytelniających

Wszystkie żądania interfejsu SOAP API Ad Managera musisz uwierzytelniać za pomocą OAuth 2.0. Poniższe kroki opisują przypadek użycia polegający na uzyskiwaniu dostępu do własnych danych Ad Managera. Więcej informacji i inne opcje znajdziesz w artykule Uwierzytelnianie.

  1. Otwórz stronę Dane logowania w Konsoli interfejsów API Google.

  2. W menu projektu kliknij Utwórz projekt, wpisz nazwę projektu i opcjonalnie zmień podany identyfikator projektu. Kliknij Utwórz.

  3. Na stronie Dane logowania kliknij Utwórz dane logowania, a następnie wybierz Klucz konta usługi.

  4. Kliknij Nowe konto usługi i jako typ klucza wybierz JSON.

  5. Kliknij Utwórz, aby pobrać plik zawierający klucz prywatny.

Konfigurowanie sieci Ad Managera

  1. Zaloguj się w usłudze Google Ad Manager.

  2. Na pasku bocznym kliknij Administracja > Ustawienia globalne.

  3. W sekcji Ustawienia ogólne > Dostęp do interfejsu API kliknij suwak, aby włączyć Dostęp.

  4. U dołu strony kliknij przycisk Zapisz.

Konfigurowanie klienta

Pobierz jedną z bibliotek klienta Ad Managera. Biblioteki zawierają funkcje i narzędzia, które ułatwiają i przyspieszają tworzenie aplikacji.

Na tych kartach znajdziesz krótkie wprowadzenia do programowania w poszczególnych językach, dla których dostępna jest biblioteka klienta.

Java

Oto podstawowy przykład, który pokazuje, jak używać biblioteki klienta Java. Szczegółowe informacje o użyciu znajdziesz w pliku README w dystrybucji biblioteki klienta.

  1. Konfigurowanie danych logowania

    Uruchom to polecenie w powłoce:

    curl https://raw.githubusercontent.com/googleads/googleads-java-lib/main/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
    Otwórz plik ~/ads.properties i wypełnij te pola:
    [...]
    api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE
    api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE
    api.admanager.networkCode=INSERT_NETWORK_CODE_HERE
    [...]
  2. Określanie zależności

    Edytuj plik pom.xml i dodaj do tagu dependencies te informacje: Najnowszy numer wersji znajdziesz na GitHubie.

    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>ads-lib</artifactId>
      <version>RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.google.api-ads</groupId>
      <artifactId>dfp-axis</artifactId>
      <version>RELEASE</version>
    </dependency>
  3. Napisz kod i prześlij prośbę.

    import com.google.api.ads.common.lib.auth.OfflineCredentials;
    import com.google.api.ads.common.lib.auth.OfflineCredentials.Api;
    import com.google.api.ads.admanager.axis.factory.AdManagerServices;
    import com.google.api.ads.admanager.axis.v202608.Network;
    import com.google.api.ads.admanager.axis.v202608.NetworkServiceInterface;
    import com.google.api.ads.admanager.lib.client.AdManagerSession;
    import com.google.api.client.auth.oauth2.Credential;
    
    public class App {
      public static void main(String[] args) throws Exception {
        Credential oAuth2Credential = new OfflineCredentials.Builder()
            .forApi(Api.AD_MANAGER)
            .fromFile()
            .build()
            .generateCredential();
    
        // Construct an AdManagerSession.
        AdManagerSession session = new AdManagerSession.Builder()
            .fromFile()
            .withOAuth2Credential(oAuth2Credential)
            .build();
    
        // Construct a Google Ad Manager service factory, which can only be used once per
        // thread, but should be reused as much as possible.
        AdManagerServices adManagerServices = new AdManagerServices();
    
        // Retrieve the appropriate service
        NetworkServiceInterface networkService = adManagerServices.get(session,
            NetworkServiceInterface.class);
    
        // Make a request
        Network network = networkService.getCurrentNetwork();
    
        System.out.printf("Current network has network code '%s' and display" +
            " name '%s'.%n", network.getNetworkCode(), network.getDisplayName());
      }
    }

Python

Oto podstawowy przykład, który pokazuje, jak korzystać z biblioteki klienta w Pythonie. Biblioteka klienta Python obsługuje Pythona w wersji 3.6 lub nowszej. Więcej informacji o używaniu znajdziesz w pliku README w dystrybucji biblioteki klienta.

  1. Zainstaluj bibliotekę i skonfiguruj dane logowania.

    Uruchom te polecenia w powłoce:

    python3 -m pip install googleads
    curl https://raw.githubusercontent.com/googleads/googleads-python-lib/main/googleads.yaml \
         -o ~/googleads.yaml
  2. Skonfiguruj plik ~/googleads.yaml.

    Wypełnij te pola:

    ad_manager:
      application_name: INSERT_APPLICATION_NAME_HERE
      network_code: INSERT_NETWORK_CODE_HERE
      path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
  3. Uruchom kod i prześlij prośbę.
    # Import the library.
    from googleads import ad_manager
    
    # Initialize a client object, by default uses the credentials in ~/googleads.yaml.
    client = ad_manager.AdManagerClient.LoadFromStorage()
    
    # Initialize a service.
    network_service = client.GetService('NetworkService', version='v202608')
    
    # Make a request.
    current_network = network_service.getCurrentNetwork()
    
    print("Current network has network code '%s' and display name '%s'." %
            (current_network['networkCode'], current_network['displayName']))

PHP

Oto podstawowy przykład użycia biblioteki klienta PHP.

  1. Zainstaluj bibliotekę i skonfiguruj dane logowania.

    Aby zainstalować bibliotekę klienta i pobrać plik adsapi_php.ini do katalogu domowego, uruchom w powłoce te polecenia:

    composer require googleads/googleads-php-lib
    curl https://raw.githubusercontent.com/googleads/googleads-php-lib/main/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
  2. Skonfiguruj plik ~/adsapi_php.ini.

    Wypełnij te pola:

    [AD_MANAGER]
    networkCode = "INSERT_NETWORK_CODE_HERE"
    applicationName = "INSERT_APPLICATION_NAME_HERE"
    
    [OAUTH2]
    jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE"
    scopes = "https://www.googleapis.com/auth/dfp"
  3. Uruchom kod i prześlij prośbę.
    <?php
    require 'vendor/autoload.php';
    use Google\AdsApi\AdManager\AdManagerSession;
    use Google\AdsApi\AdManager\AdManagerSessionBuilder;
    use Google\AdsApi\AdManager\v202608\ApiException;
    use Google\AdsApi\AdManager\v202608\ServiceFactory;
    use Google\AdsApi\Common\OAuth2TokenBuilder;
    
    // Generate a refreshable OAuth2 credential for authentication.
    $oAuth2Credential = (new OAuth2TokenBuilder())
        ->fromFile()
        ->build();
    // Construct an API session configured from a properties file and the OAuth2
    // credentials above.
    $session = (new AdManagerSessionBuilder())
        ->fromFile()
        ->withOAuth2Credential($oAuth2Credential)
        ->build();
    
    // Get a service.
    $serviceFactory = new ServiceFactory();
    $networkService = $serviceFactory->createNetworkService($session);
    
    // Make a request
    $network = $networkService->getCurrentNetwork();
    printf(
        "Network with code %d and display name '%s' was found.\n",
        $network->getNetworkCode(),
        $network->getDisplayName()
    );

.NET

Oto podstawowy przykład, który pokazuje, jak używać biblioteki klienta.NET:

  1. Tworzenie nowego projektu

    Otwórz Visual Studio i utwórz nowy projekt (aplikacja konsolowa).

  2. Dodaj do projektu wymagane odwołania do bibliotek

    Dodaj zależność NuGet dla Google.Dfp.

  3. Skonfiguruj plik App.config

    Skopiuj plik src\App.config do katalogu projektu i dodaj go do projektu. Jeśli aplikacja ma własny plik App.config, możesz skopiować do niego te węzły:

    • configuration/AdManagerApi
    • configuration/configSections/section[name="AdManagerApi"]
    • configuration/system.net
  4. Konfigurowanie danych logowania

    Otwórz plik App.config i edytuj te klucze:

    <add key="ApplicationName" value="INSERT_YOUR_APPLICATION_NAME_HERE" />
    <add key="NetworkCode" value="INSERT_YOUR_NETWORK_CODE_HERE" />
    <add key="OAuth2Mode" value="SERVICE_ACCOUNT" />
    <add key="OAuth2SecretsJsonPath" value="INSERT_OAUTH2_SECRETS_JSON_FILE_PATH_HERE" />
  5. Zadzwoń do biblioteki

    Bibliotekę możesz wywołać tak, jak pokazano w tym fragmencie kodu w języku C#:

    AdManagerUser user = new AdManagerUser();
          using (InventoryService inventoryService = user.GetService<InventoryService>())
                {
                    // Create a statement to select ad units.
                    int pageSize = StatementBuilder.SUGGESTED_PAGE_LIMIT;
                    StatementBuilder statementBuilder =
                        new StatementBuilder().OrderBy("id ASC").Limit(pageSize);
    
                    // Retrieve a small amount of ad units at a time, paging through until all
                    // ad units have been retrieved.
                    int totalResultSetSize = 0;
                    do
                    {
                        AdUnitPage page =
                            inventoryService.getAdUnitsByStatement(statementBuilder.ToStatement());
    
                        // Print out some information for each ad unit.
                        if (page.results != null)
                        {
                            totalResultSetSize = page.totalResultSetSize;
                            int i = page.startIndex;
                            foreach (AdUnit adUnit in page.results)
                            {
                                Console.WriteLine(
                                    "{0}) Ad unit with ID \"{1}\" and name \"{2}\" was found.", i++,
                                    adUnit.id, adUnit.name);
                            }
                        }
    
                        statementBuilder.IncreaseOffsetBy(pageSize);
                    } while (statementBuilder.GetOffset() < totalResultSetSize);
    
                    Console.WriteLine("Number of results found: {0}", totalResultSetSize);
                }
            

Jeśli nie chcesz ustawiać danych logowania w pliku App.config, zapoznaj się z tym artykułem w wiki, aby poznać inne sposoby używania klasy AdManagerUser. Szczegółowe informacje o korzystaniu z biblioteki klienta .NET znajdziesz w pliku README . Jeśli chcesz tworzyć aplikacje w języku .NET bez biblioteki klienta, zapoznaj się z artykułem wiki NoClientLibrary.

Ruby

Oto podstawowy przykład, który pokazuje, jak używać biblioteki klienta Ruby. Biblioteka klienta Ruby wymaga Ruby w wersji 2.1 lub nowszej.

  1. Zainstaluj gem Ruby i pobierz plik konfiguracji.

    Uruchom te polecenia w powłoce:

    gem install google-dfp-api
    curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/main/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
  2. Konfigurowanie danych logowania

    Wypełnij wymagane pola w ~/ad_manager_api.ymlpliku. Jeśli nie masz jeszcze pliku klucza OAuth2, wykonaj czynności opisane w tym artykule, aby utworzyć dane logowania OAuth2.

    :authentication:
      :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE
      :application_name: INSERT_APPLICATION_NAME_HERE
      :network_code: INSERT_NETWORK_CODE_HERE
  3. Napisz kod i prześlij prośbę.
    # Import the library.
    require 'ad_manager_api'
    
    # Initialize an Ad Manager client instance (uses credentials in ~/ad_manager_api.yml by default).
    ad_manager = AdManagerApi::Api.new
    
    # Get a service instance.
    network_service = ad_manager.service(:NetworkService, :v202608)
    
    # Make a request.
    network = network_service.get_current_network()
    
    puts "The current network is %s (%d)." %
            [network[:display_name], network[:network_code]]

Bardziej szczegółowe instrukcje znajdziesz w pliku README dystrybuowanym z biblioteką klienta Ruby. Zapoznaj się też z naszą pełną biblioteką przykładów w języku Ruby.

Dalsze kroki

Gdy biblioteka klienta będzie już działać, zmodyfikuj podane przykłady, aby dostosować je do swoich potrzeb.

Aby dowiedzieć się więcej o interfejsie API, przejrzyj dokumentację.

Jeśli potrzebujesz pomocy, odwiedź naszą stronę pomocy.