Unsere Clientbibliotheken bieten Ansichten auf hoher Ebene und grundlegende Bausteine der Google Ads API-Funktionen, sodass Sie Apps schneller entwickeln können. Wenn Sie die API noch nicht kennen, empfehlen wir, mit einem zu beginnen.
Community-Bibliotheken
Wir kennen mehrere Bibliotheken, die von der Open-Source-Community verwaltet werden. Wir führen diese Liste, damit interessierte Entwickler sie leichter finden können. Wir testen, unterstützen oder warten diese Bibliotheken nicht. Die Verwendung erfolgt auf eigenes Risiko. Wenden Sie sich bei Fragen an die Inhaber der Open-Source-Projekte.
Wenn Sie eine Bibliothek kennen, die wir nicht berücksichtigt haben, klicken Sie oben auf der Seite auf Feedback geben und teilen Sie uns dies mit.
Unterstützte API-Versionen
In der Tabelle sehen Sie, welche Clientbibliotheken mit welchen API-Versionen funktionieren.
Java
Google Ads API |
Clientbibliothek für Java |
v20 |
Min: 38.0.0 Max: – |
v19 |
Min: 36.0.0 Max: – |
v18 |
Min: 34.0.0 Max: – |
v17 |
Min: 31.0.0 Max: 36.1.0 |
C#
Google Ads API |
Clientbibliothek für .NET |
v20 |
Min: 23.0.0 Max: – |
v19 |
Min: 22.1.0 Max: – |
v18 |
Min: 21.1.0 Max: – |
v17 |
Min: 20.1.0 Max: 22.2.0 |
PHP
Google Ads API |
Clientbibliothek für PHP |
v20 |
Min: 28.0.0 Max: – |
v19 |
Min: 26.1.0 Max: – |
v18 |
Min: 25.0.0 Max: – |
v17 |
Min: 23.1.0 Max: 27.2.0
|
Python
Google Ads API |
Clientbibliothek für Python |
v20 |
Min: 27.0.0 Max: – |
v19 |
Min: 25.2.0 Max: – |
v18 |
Min: 25.1.0 Max: – |
v17 |
Min: 24.1.0 Max: 26.1.0 |
Ruby
Google Ads API |
Clientbibliothek für Ruby |
v20 |
Min: 34.0.0 Max: – |
v19 |
Min: 32.0.0 Max: – |
v18 |
Min: 31.0.0 Max: – |
Perl
Google Ads API |
Clientbibliothek für Perl |
v20 |
Min: 27.0.0 Max: – |
v19 |
Min: 26.0.0 Max: – |
v18 |
Min: 25.0.1 Max: – |
Konfiguration
Jede Ads API-Clientbibliothek bietet verschiedene Konfigurationseinstellungen und Lademethoden, mit denen Sie ihr Verhalten anpassen können.
Im Folgenden finden Sie die Umgebungsvariablen, die für alle Clientbibliotheken gelten und geladen werden können, um Konfigurationseinstellungen festzulegen:
- Clientbibliothek
GOOGLE_ADS_CONFIGURATION_FILE_PATH
: Pfad zur Konfigurationsdatei.
- OAuth2
- Anwendungsmodus
GOOGLE_ADS_CLIENT_ID
: Legen Sie diesen Wert auf Ihre OAuth2-Client-ID fest.GOOGLE_ADS_CLIENT_SECRET
: Setzen Sie diesen Wert auf Ihren OAuth2-Client-Schlüssel.GOOGLE_ADS_REFRESH_TOKEN
: Legen Sie diesen Wert auf ein vorab generiertes OAuth2-Aktualisierungstoken fest, wenn Sie OAuth2-Tokens wiederverwenden möchten. Diese Einstellung ist optional.
- Dienstkontomodus
GOOGLE_ADS_JSON_KEY_FILE_PATH
: Legen Sie diesen Wert auf den Pfad der OAuth2-JSON-Konfigurationsdatei fest.GOOGLE_ADS_IMPERSONATED_EMAIL
: Legen Sie diesen Wert auf die E-Mail-Adresse des Kontos fest, dessen Identität Sie annehmen.
- Anwendungsmodus
- Google Ads API
GOOGLE_ADS_DEVELOPER_TOKEN
: Legen Sie hier Ihr Entwicklertoken fest.GOOGLE_ADS_LOGIN_CUSTOMER_ID
: Dies ist die Kunden-ID des autorisierten Kunden, die in der Anfrage verwendet werden soll, ohne Bindestriche (-
).GOOGLE_ADS_LINKED_CUSTOMER_ID
: Dieser Header ist nur für Methoden erforderlich, mit denen die Ressourcen einer Einheit aktualisiert werden, wenn die Berechtigung über verknüpfte Konten in der Google Ads-Benutzeroberfläche (AccountLink
-Ressource in der Google Ads API) erfolgt. Legen Sie diesen Wert auf die Kunden-ID des Datenanbieters fest, der die Ressourcen der angegebenen Kunden-ID aktualisiert. Sie sollte ohne Bindestriche (-
) angegeben werden. Weitere Informationen zu verknüpften Konten finden Sie in der Hilfe.
Umgebungsvariablen werden in der Regel in einer Bash-Konfigurationsdatei wie .bashrc
oder .bash_profile
definiert, die sich im Verzeichnis $HOME
befindet. Sie können auch über die Befehlszeile definiert werden.
Hier sind einige grundlegende Schritte zum Definieren einer Umgebungsvariablen mit einer .bashrc
-Datei über ein Terminal:
# Append the line "export GOOGLE_ADS_CLIENT_ID=1234567890" to
# the bottom of your .bashrc file.
echo "export GOOGLE_ADS_CLIENT_ID=1234567890" >> ~/.bashrc
# Update your bash environment to use the most recently updated
# version of your .bashrc file.
src ~/.bashrc
Umgebungsvariablen können auch direkt über die Befehlszeile in Ihrer Terminalinstanz festgelegt werden:
export GOOGLE_ADS_CLIENT_ID=1234567890
Eine weitere Alternative besteht darin, Umgebungsvariablen beim Aufrufen des Befehls festzulegen, der sie verwendet:
GOOGLE_ADS_CLIENT_ID=1234567890 php /path/to/script/that/uses/envvar.php
Entitäten abrufen
GoogleAdsService.SearchStream
wird in der Regel verwendet, um Entitäten abzurufen. Die Ergebnisse werden als Stream von Zeilen zurückgegeben. Alternativ können Sie GoogleAdsService.Search
verwenden, um Entitäten über eine unzuverlässige Internetverbindung abzurufen. GoogleAdsService.Search
gibt Ergebnisse als feste Seitengrößen von 10.000 Zeilen pro Seite zurück.
Unsere Clientbibliothek implementiert automatisch die Paginierung, wenn Sie Ergebnisse durchlaufen. So können Sie alle Ergebnisse sequenziell herunterladen und gleichzeitig verarbeiten.
Java
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#
public void Run(GoogleAdsClient client, long customerId) { // Get the GoogleAdsService. GoogleAdsServiceClient googleAdsService = client.GetService( Services.V20.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
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
def main(client, customer_id): ga_service = client.get_service("GoogleAdsService") query = """ SELECT campaign.id, campaign.name FROM campaign ORDER BY campaign.id""" # Issues a search request using streaming. stream = ga_service.search_stream(customer_id=customer_id, query=query) for batch in stream: for row in batch.results: print( f"Campaign with ID {row.campaign.id} and name " f'"{row.campaign.name}" was found.' )
Ruby
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
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::V20::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; }
Codebeispiele
Codebeispiele für einige häufige Funktionen in der Google Ads API ansehen