Our client libraries provide high-level views and basic building blocks of Google Ads API functionality, making it easier to develop apps quickly. We recommend starting out with one if you're new to the API.
| Клиентская библиотека | Источник | Распределение | Примеры кода |
|---|---|---|---|
| Java | google-ads-java | Maven , tar.gz | Посмотреть на GitHub |
| .СЕТЬ | google-ads-dotnet | nuget , tar.gz, zip | Посмотреть на GitHub |
| PHP | google-ads-php | tar.gz | Посмотреть на GitHub |
| Python | google-ads-python | tar.gz, zip | Посмотреть на GitHub |
| Руби | google-ads-ruby | gem, tar.gz, zip | Посмотреть на GitHub |
| Perl | google-ads-perl | tar.gz, zip | Посмотреть на GitHub |
Общественные библиотеки
We are aware of several libraries that are maintained by the open source community. We maintain this list to help interested developers find them. We don't test, contribute to, or maintain these libraries; use them at your own risk. Any questions you may have should be directed to the owners of the open source projects.
Если вам известна библиотека, которую мы пропустили, нажмите кнопку «Отправить отзыв» вверху страницы и сообщите нам об этом.
Поддерживаемые версии API
В таблице показано, какие клиентские библиотеки работают с какими версиями API.
The listed minimum client library version is sufficient for the major Google Ads API release (such as v25). To see the required client library version for minor releases, refer to the linked Changelog.
Java
API Google Ads | Клиентская библиотека для Java |
v25 | Min: 44.0.0Max: - |
v24 | Min: 43.0.0Max: - |
v23 | Min: 42.0.0Max: - |
v22 | Min: 41.0.0Max: - |
C#
API Google Ads | Клиентская библиотека для .NET |
v25 | Min: 26.1.0Max: - |
v24 | Min: 25.3.0Max: - |
v23 | Min: 25.1.0Max: - |
v22 | Min: 24.1.0Max: - |
PHP
API Google Ads | Клиентская библиотека для PHP |
v25 | Min: 33.6.0Max: - |
v24 | Min: 33.3.0Max: - |
v23 | Min: 32.2.0Max: - |
v22 | Min: 31.0.0Max: - |
Python
API Google Ads | Клиентская библиотека для Python |
v25 | Min: 31.2.0Max: - |
v24 | Min: 30.1.0Max: - |
v23 | Min: 29.2.0Max: - |
v22 | Min: 28.1.0Max: 32.0.0 |
Руби
API Google Ads | Клиентская библиотека для Ruby |
v25 | Min: 43.0.0Max: - |
v24 | Min: 40.0.0Max: - |
v23 | Min: 38.0.0Max: - |
v22 | Min: 36.0.0Max: - |
Perl
API Google Ads | Клиентская библиотека для Perl |
v25 | Min: 33.0.0Max: - |
v24 | Min: 32.0.0Max: - |
v23 | Min: 31.0.0Max: - |
v22 | Min: 29.0.0Max: - |
Конфигурация
Каждая клиентская библиотека Ads API предоставляет различные параметры конфигурации и методы загрузки, которые можно использовать для настройки ее поведения.
Ниже перечислены переменные среды, общие для всех клиентских библиотек и которые можно загрузить для установки параметров конфигурации:
- Клиентская библиотека
-
GOOGLE_ADS_CONFIGURATION_FILE_PATH: Путь к файлу конфигурации.
-
- OAuth2
- Режим приложения
-
GOOGLE_ADS_CLIENT_ID: Установите это значение равным идентификатору вашего клиента OAuth2. -
GOOGLE_ADS_CLIENT_SECRET: Установите это значение равным секретному ключу вашего клиента OAuth2. -
GOOGLE_ADS_REFRESH_TOKEN: Установите это значение на предварительно сгенерированный токен обновления OAuth2, если вы хотите повторно использовать токены OAuth2. Этот параметр необязателен.
-
- Режим служебной учетной записи
-
GOOGLE_ADS_JSON_KEY_FILE_PATH: Установите это значение равным пути к файлу конфигурации OAuth2 JSON. -
GOOGLE_ADS_IMPERSONATED_EMAIL: Установите это значение равным адресу электронной почты учетной записи, которую вы выдаете за себя.
-
- Режим приложения
- API Google Ads
-
GOOGLE_ADS_LOGIN_CUSTOMER_ID: Это идентификатор клиента, авторизованного для использования в запросе, без дефисов (-). -
GOOGLE_ADS_LINKED_CUSTOMER_ID: Этот заголовок необходим только для методов, обновляющих ресурсы сущности при наличии разрешения через связанные учетные записи в пользовательском интерфейсе Google Ads (ресурсAccountLinkв API Google Ads). Установите это значение равным идентификатору клиента поставщика данных, обновляющего ресурсы указанного идентификатора клиента. Значение должно быть без дефисов (-). Для получения дополнительной информации о связанных учетных записях посетите Справочный центр .
-
Переменные окружения обычно определяются в конфигурационном файле bash, например, в файле .bashrc или .bash_profile , расположенном в каталоге $HOME . Их также можно определить с помощью командной строки.
Вот несколько основных шагов для определения переменной окружения с помощью файла .bashrc в терминале:
# 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
Переменные среды также можно установить непосредственно в терминале из командной строки:
export GOOGLE_ADS_CLIENT_ID=1234567890
Другой вариант — установить переменные окружения при вызове команды, которая их использует:
GOOGLE_ADS_CLIENT_ID=1234567890 php /path/to/script/that/uses/envvar.php
Получение сущностей
GoogleAdsService.SearchStream is typically used to fetch entities, and the results are returned as a stream of rows. Alternatively, you can use GoogleAdsService.Search to fetch entities over an unreliable internet connection. GoogleAdsService.Search returns results as fixed page sizes of 10,000 rows per page.
Наша клиентская библиотека автоматически реализует постраничную обработку результатов при итерации, что позволяет последовательно загружать и обрабатывать их все одновременно.
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.V25.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: 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.' )
Руби
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::V25::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; }
локон
Примеры кода
Ознакомьтесь с примерами кода некоторых распространенных функций API Google Ads.
,Our client libraries provide high-level views and basic building blocks of Google Ads API functionality, making it easier to develop apps quickly. We recommend starting out with one if you're new to the API.
| Клиентская библиотека | Источник | Распределение | Примеры кода |
|---|---|---|---|
| Java | google-ads-java | Maven , tar.gz | Посмотреть на GitHub |
| .СЕТЬ | google-ads-dotnet | nuget , tar.gz, zip | Посмотреть на GitHub |
| PHP | google-ads-php | tar.gz | Посмотреть на GitHub |
| Python | google-ads-python | tar.gz, zip | Посмотреть на GitHub |
| Руби | google-ads-ruby | gem, tar.gz, zip | Посмотреть на GitHub |
| Perl | google-ads-perl | tar.gz, zip | Посмотреть на GitHub |
Общественные библиотеки
We are aware of several libraries that are maintained by the open source community. We maintain this list to help interested developers find them. We don't test, contribute to, or maintain these libraries; use them at your own risk. Any questions you may have should be directed to the owners of the open source projects.
Если вам известна библиотека, которую мы пропустили, нажмите кнопку «Отправить отзыв» вверху страницы и сообщите нам об этом.
Поддерживаемые версии API
В таблице показано, какие клиентские библиотеки работают с какими версиями API.
The listed minimum client library version is sufficient for the major Google Ads API release (such as v25). To see the required client library version for minor releases, refer to the linked Changelog.
Java
API Google Ads | Клиентская библиотека для Java |
v25 | Min: 44.0.0Max: - |
v24 | Min: 43.0.0Max: - |
v23 | Min: 42.0.0Max: - |
v22 | Min: 41.0.0Max: - |
C#
API Google Ads | Клиентская библиотека для .NET |
v25 | Min: 26.1.0Max: - |
v24 | Min: 25.3.0Max: - |
v23 | Min: 25.1.0Max: - |
v22 | Min: 24.1.0Max: - |
PHP
API Google Ads | Клиентская библиотека для PHP |
v25 | Min: 33.6.0Max: - |
v24 | Min: 33.3.0Max: - |
v23 | Min: 32.2.0Max: - |
v22 | Min: 31.0.0Max: - |
Python
API Google Ads | Клиентская библиотека для Python |
v25 | Min: 31.2.0Max: - |
v24 | Min: 30.1.0Max: - |
v23 | Min: 29.2.0Max: - |
v22 | Min: 28.1.0Max: 32.0.0 |
Руби
API Google Ads | Клиентская библиотека для Ruby |
v25 | Min: 43.0.0Max: - |
v24 | Min: 40.0.0Max: - |
v23 | Min: 38.0.0Max: - |
v22 | Min: 36.0.0Max: - |
Perl
API Google Ads | Клиентская библиотека для Perl |
v25 | Min: 33.0.0Max: - |
v24 | Min: 32.0.0Max: - |
v23 | Min: 31.0.0Max: - |
v22 | Min: 29.0.0Max: - |
Конфигурация
Каждая клиентская библиотека Ads API предоставляет различные параметры конфигурации и методы загрузки, которые можно использовать для настройки ее поведения.
Ниже перечислены переменные среды, общие для всех клиентских библиотек и которые можно загрузить для установки параметров конфигурации:
- Клиентская библиотека
-
GOOGLE_ADS_CONFIGURATION_FILE_PATH: Путь к файлу конфигурации.
-
- OAuth2
- Режим приложения
-
GOOGLE_ADS_CLIENT_ID: Установите это значение равным идентификатору вашего клиента OAuth2. -
GOOGLE_ADS_CLIENT_SECRET: Установите это значение равным секретному ключу вашего клиента OAuth2. -
GOOGLE_ADS_REFRESH_TOKEN: Установите это значение на предварительно сгенерированный токен обновления OAuth2, если вы хотите повторно использовать токены OAuth2. Этот параметр необязателен.
-
- Режим служебной учетной записи
-
GOOGLE_ADS_JSON_KEY_FILE_PATH: Установите это значение равным пути к файлу конфигурации OAuth2 JSON. -
GOOGLE_ADS_IMPERSONATED_EMAIL: Установите это значение равным адресу электронной почты учетной записи, которую вы выдаете за себя.
-
- Режим приложения
- API Google Ads
-
GOOGLE_ADS_LOGIN_CUSTOMER_ID: Это идентификатор клиента, авторизованного для использования в запросе, без дефисов (-). -
GOOGLE_ADS_LINKED_CUSTOMER_ID: Этот заголовок необходим только для методов, обновляющих ресурсы сущности при наличии разрешения через связанные учетные записи в пользовательском интерфейсе Google Ads (ресурсAccountLinkв API Google Ads). Установите это значение равным идентификатору клиента поставщика данных, обновляющего ресурсы указанного идентификатора клиента. Значение должно быть без дефисов (-). Для получения дополнительной информации о связанных учетных записях посетите Справочный центр .
-
Переменные окружения обычно определяются в конфигурационном файле bash, например, в файле .bashrc или .bash_profile , расположенном в каталоге $HOME . Их также можно определить с помощью командной строки.
Вот несколько основных шагов для определения переменной окружения с помощью файла .bashrc в терминале:
# 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
Переменные среды также можно установить непосредственно в терминале из командной строки:
export GOOGLE_ADS_CLIENT_ID=1234567890
Другой вариант — установить переменные окружения при вызове команды, которая их использует:
GOOGLE_ADS_CLIENT_ID=1234567890 php /path/to/script/that/uses/envvar.php
Получение сущностей
GoogleAdsService.SearchStream is typically used to fetch entities, and the results are returned as a stream of rows. Alternatively, you can use GoogleAdsService.Search to fetch entities over an unreliable internet connection. GoogleAdsService.Search returns results as fixed page sizes of 10,000 rows per page.
Наша клиентская библиотека автоматически реализует постраничную обработку результатов при итерации, что позволяет последовательно загружать и обрабатывать их все одновременно.
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.V25.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: 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.' )
Руби
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::V25::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; }
локон
Примеры кода
Ознакомьтесь с примерами кода некоторых распространенных функций API Google Ads.