Entwickler können mit der Google Ad Manager API Anwendungen erstellen, mit denen sich unter anderem Inventar verwalten, Aufträge erstellen und Berichte abrufen lassen.
Die Ad Manager API verwendet SOAP. Als Einstiegshilfe bieten wir Clientbibliotheken für Java, .NET, Python, PHP und Ruby an. So stellen Sie Ihre erste API-Anfrage:
Zugriff auf ein Ad Manager-Netzwerk erhalten
Registrieren Sie sich für ein Ad Manager-Konto, falls Sie noch keines haben. Sie können auch ein Testnetzwerk erstellen, wenn Sie die API in einer separaten Umgebung testen möchten. Für Testzwecke ist kein AdSense-Konto erforderlich.
Notieren Sie sich Ihren Netzwerkcode. Sie finden diese in der URL, wenn Sie in Ihrem Netzwerk angemeldet sind. In der URL https://admanager.google.com/1234#home
ist beispielsweise 1234
Ihr Netzwerkcode.
Anmeldedaten für die Authentifizierung erstellen
Sie müssen alle Ad Manager API-Anfragen mit OAuth2 authentifizieren. Die folgenden Schritte decken den einfachen Anwendungsfall für den Zugriff auf Ihre eigenen Ad Manager-Daten ab. Weitere Informationen und andere Optionen finden Sie unter Authentifizierung.
- Öffnen Sie die Seite Google API Console-Seite "Anmeldedaten".
- Wählen Sie im Projektmenü die Option Projekt erstellen aus, geben Sie einen Namen für das Projekt ein und ändern Sie gegebenenfalls die angegebene Projekt-ID. Klicken Sie auf Erstellen.
- Wählen Sie auf der Seite „Anmeldedaten“ die Option Anmeldedaten erstellen und dann Dienstkontoschlüssel aus.
- Wählen Sie Neues Dienstkonto und dann JSON als Schlüsseltyp aus.
- Klicken Sie auf Erstellen, um eine Datei mit einem privaten Schlüssel herunterzuladen.
Ad Manager-Netzwerk konfigurieren
- Melden Sie sich in Google Ad Manager an.
- Klicken Sie in der Seitenleiste auf Admin > Globale Einstellungen.
- Klicken Sie unter Allgemeine Einstellungen > API-Zugriff auf den Schieberegler auf Aktiviert.
- Klicken Sie unten auf der Seite auf Speichern.
Client einrichten
Laden Sie eine der Ad Manager-Clientbibliotheken herunter. Die Bibliotheken bieten Wrapper-Funktionen und -Features, mit denen Anwendungen einfacher und schneller entwickelt werden können.
Die Tabs unten enthalten Kurzanleitungen zum Codieren in jeder der Sprachen, für die es eine Clientbibliothek gibt.
Java
Das folgende Beispiel zeigt die Verwendung der Java-Clientbibliothek. Ausführliche Informationen zur Verwendung finden Sie in der README-Datei in der Clientbibliotheksverteilung.
- Anmeldedaten einrichten
Führen Sie in einer Shell den folgenden Befehl aus:
curl https://raw.githubusercontent.com/googleads/googleads-java-lib/master/examples/admanager_axis/src/main/resources/ads.properties -o ~/ads.properties
Öffnen Sie die Datei~/ads.properties
und füllen Sie die folgenden Felder aus:[...] api.admanager.applicationName=INSERT_APPLICATION_NAME_HERE api.admanager.jsonKeyFilePath=INSERT_PATH_TO_JSON_KEY_FILE_HERE api.admanager.networkCode=INSERT_NETWORK_CODE_HERE [...]
-
Abhängigkeiten angeben
Bearbeiten Sie die Datei
pom.xml
und fügen Sie dem Tagdependencies
Folgendes hinzu: Die neueste Versionsnummer finden Sie auf GitHub.<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>
-
Schreiben Sie einen Code und senden Sie eine Anfrage!
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.v202302.Network; import com.google.api.ads.admanager.axis.v202302.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
Das folgende Beispiel zeigt die Verwendung der Python-Clientbibliothek. Die Python-Clientbibliothek unterstützt Python ab Version 3.6. Ausführliche Informationen zur Nutzung finden Sie in der Clientbibliothek unter README.
- Installieren Sie die Bibliothek und richten Sie Ihre Anmeldedaten ein.
Führen Sie die folgenden Befehle in einer Shell aus:
pip install googleads curl https://raw.githubusercontent.com/googleads/googleads-python-lib/master/googleads.yaml \ -o ~/googleads.yaml
- Richten Sie die Datei
~/googleads.yaml
ein.Füllen Sie die folgenden Felder aus:
ad_manager: application_name: INSERT_APPLICATION_NAME_HERE network_code: INSERT_NETWORK_CODE_HERE path_to_private_key_file: INSERT_PATH_TO_FILE_HERE
-
Führen Sie Code aus und stellen Sie eine Anfrage.
# 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='v202302') # 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
Das folgende Beispiel zeigt die Verwendung der PHP-Clientbibliothek.
-
Installieren Sie die Bibliothek und richten Sie Ihre Anmeldedaten ein.
Führen Sie die folgenden Befehle in einer Shell aus, um die Clientbibliothek zu installieren und die Datei adsapi_php.ini in Ihr Basisverzeichnis herunterzuladen:
composer require googleads/googleads-php-lib curl https://raw.githubusercontent.com/googleads/googleads-php-lib/master/examples/AdManager/adsapi_php.ini -o ~/adsapi_php.ini
-
Richten Sie die Datei
~/adsapi_php.ini
ein.Füllen Sie die folgenden Felder aus:
[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"
-
Code ausführen und Anfrage senden
<?php require 'vendor/autoload.php'; use Google\AdsApi\AdManager\AdManagerSession; use Google\AdsApi\AdManager\AdManagerSessionBuilder; use Google\AdsApi\AdManager\v202302\ApiException; use Google\AdsApi\AdManager\v202302\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
Hier ein einfaches Beispiel für die Verwendung der .NET-Clientbibliothek
- Neues Projekt erstellen
Öffnen Sie Visual Studio und erstellen Sie ein neues Projekt (d.h. eine Console-Anwendung).
- Ihrem Projekt die erforderlichen Bibliotheksreferenzen hinzufügen
Fügen Sie eine Nuget-Abhängigkeit für Google.Dfp hinzu.
- App.config einrichten
Kopieren Sie „src\App.config“ in Ihr Projektverzeichnis und fügen Sie es Ihrem Projekt hinzu. Wenn Ihre Anwendung eine eigene App.config hat, können Sie die folgenden Knoten in Ihre App.config kopieren:
- Konfiguration/AdManagerApi
- config/configSections/section[name="AdManagerApi"]
- konfiguration/system.net
- Anmeldedaten einrichten
Öffnen Sie App.config und bearbeiten Sie die folgenden Schlüssel:
<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" />
- Bibliothek aufrufen
Sie können die Bibliothek wie im folgenden C#-Code-Snippet aufrufen
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); }
Wenn Sie Ihre Anmeldedaten nicht in der Datei App.config festlegen möchten, lesen Sie diesen Wiki-Artikel zu alternativen Möglichkeiten zur Verwendung der Klasse „AdManagerUser“. Weitere Informationen zur Verwendung der .NET-Clientbibliothek finden Sie in der README-Datei. Wenn Sie die Entwicklung in .NET ohne die Clientbibliothek vornehmen möchten, finden Sie entsprechende Informationen im Wiki-Artikel „NoClientLibrary“.
Ruby
Das folgende Beispiel zeigt die Verwendung der Ruby-Clientbibliothek. Für die Ruby-Clientbibliothek ist Ruby 2.1 oder höher erforderlich.
-
Installieren Sie das Ruby-Gem und rufen Sie die Konfigurationsdatei ab.
Führen Sie die folgenden Befehle in einer Shell aus:
gem install google-dfp-api
curl https://raw.githubusercontent.com/googleads/google-api-ads-ruby/master/ad_manager_api/ad_manager_api.yml -o ~/ad_manager_api.yml
-
Anmeldedaten einrichten
Füllen Sie die Pflichtfelder in der Datei
~/ad_manager_api.yml
aus. Wenn Sie noch keine OAuth2-Schlüsseldatei haben, müssen Sie die Schritte zum Erstellen Ihrer OAuth2-Anmeldedaten ausführen.:authentication: :oauth2_keyfile: INSERT_PATH_TO_JSON_KEY_FILE_HERE :application_name: INSERT_APPLICATION_NAME_HERE :network_code: INSERT_NETWORK_CODE_HERE
-
Schreiben Sie einen Code und senden Sie eine Anfrage!
# 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, :v202302) # Make a request. network = network_service.get_current_network() puts "The current network is %s (%d)." % [network[:display_name], network[:network_code]]
Weitere Informationen zu den ersten Schritten finden Sie in der Datei Readme, die in der Ruby-Clientbibliothek enthalten ist. Sehen Sie sich auch die vollständige Beispielbibliothek für Ruby an.
Nächste Schritte
Wenn eine Clientbibliothek aktiv ist, können Sie die bereitgestellten Beispiele ändern, um sie an Ihre Anforderungen anzupassen.
Weitere Informationen zur API finden Sie in der Referenzdokumentation.
Weitere Informationen finden Sie auf der Supportseite.