Fazer uma chamada de API

Este guia requer várias configurações de pré-requisito que foram configuradas em etapas anteriores. Comece com a Introdução, se ainda não tiver feito isso.

Fazer uma chamada de API

Selecione o cliente de sua preferência para ver instruções sobre como fazer uma chamada de API:

Java

Os artefatos da biblioteca de cliente são publicados no repositório central do Maven. Adicione a biblioteca de cliente como uma dependência ao projeto da seguinte maneira:

A dependência do Maven é:

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

A dependência do Gradle é:

implementation 'com.google.api-ads:google-ads:39.0.0' 
api.googleads.serviceAccountSecretsPath=JSON_KEY_FILE_PATH api.googleads.developerToken=INSERT_DEVELOPER_TOKEN_HERE api.googleads.loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE 

Crie um objeto GoogleAdsClient da seguinte maneira:

GoogleAdsClient googleAdsClient = null; try {   googleAdsClient = GoogleAdsClient.newBuilder().fromPropertiesFile().build(); } catch (FileNotFoundException fnfe) {   System.err.printf(       "Failed to load GoogleAdsClient configuration from file. Exception: %s%n",       fnfe);   System.exit(1); } catch (IOException ioe) {   System.err.printf("Failed to create GoogleAdsClient. Exception: %s%n", ioe);   System.exit(1); } 

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

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#

Os pacotes de biblioteca de cliente são publicados no repositório Nuget.org. Comece adicionando uma referência de nuget ao pacote Google.Ads.GoogleAds.

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

Crie um objeto GoogleAdsConfig com as configurações relevantes e use-o para criar um objeto GoogleAdsClient.

GoogleAdsConfig config = new GoogleAdsConfig() {     DeveloperToken = "******",     OAuth2Mode = OAuth2Flow.SERVICE_ACCOUNT,     OAuth2SecretsJsonPath = "PATH_TO_CREDENTIALS_JSON",     LoginCustomerId = ****** }; GoogleAdsClient client = new GoogleAdsClient(config); 

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

public void Run(GoogleAdsClient client, long customerId) {     // Get the GoogleAdsService.     GoogleAdsServiceClient googleAdsService = client.GetService(         Services.V21.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

Os pacotes da biblioteca de cliente são publicados no repositório Packagist. Mude para o diretório raiz do projeto e execute o comando abaixo para instalar a biblioteca e todas as dependências dela no diretório vendor/ do diretório raiz do projeto.

composer require googleads/google-ads-php:31.0.0

Faça uma cópia do arquivo google_ads_php.ini do repositório do GitHub e modifique-o para incluir suas credenciais.

[GOOGLE_ADS] developerToken = "INSERT_DEVELOPER_TOKEN_HERE" loginCustomerId = "INSERT_LOGIN_CUSTOMER_ID_HERE"  [OAUTH2] jsonKeyFilePath = "INSERT_ABSOLUTE_PATH_TO_OAUTH2_JSON_KEY_FILE_HERE" scopes = "https://www.googleapis.com/auth/adwords" 

Crie uma instância do objeto GoogleAdsClient.

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

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

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

A biblioteca de cliente é distribuída no PyPI e pode ser instalada usando o comando pip da seguinte maneira:

python -m pip install google-ads==21.3.0

Faça uma cópia do arquivo google-ads.yaml do repositório do GitHub e modifique-o para incluir suas credenciais.

developer_token: INSERT_DEVELOPER_TOKEN_HERE login_customer_id: INSERT_LOGIN_CUSTOMER_ID_HERE json_key_file_path: JSON_KEY_FILE_PATH_HERE 

Crie uma instância GoogleAdsClient chamando o método GoogleAdsClient.load_from_storage. Transmita o caminho para o google-ads.yaml como uma string para o método ao chamá-lo:

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

Adicione um gerenciador ao registrador da biblioteca para informar onde imprimir os registros. O código a seguir vai instruir o registrador da biblioteca a imprimir no console (stdout).

import logging import sys  logger = logging.getLogger('google.ads.googleads.client') logger.addHandler(logging.StreamHandler(sys.stdout)) 

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

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

As gems Ruby da biblioteca de cliente são publicadas no site de hospedagem de gems Rubygems. A maneira recomendada de instalação é usando o bundler. Adicione uma linha ao Gemfile:

gem 'google-ads-googleads', '~> 35.2.0' 

Depois, execute:

bundle install

Faça uma cópia do arquivo google_ads_config.rb do repositório do GitHub e modifique-o para incluir suas credenciais.

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

Crie uma instância GoogleAdsClient transmitindo o caminho para onde você mantém esse arquivo.

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

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

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

A biblioteca é distribuída no CPAN. Comece clonando o repositório google-ads-perl no diretório de sua preferência.

git clone https://github.com/googleads/google-ads-perl.git

Mude para o diretório google-ads-perl e execute o comando a seguir no prompt de comando para instalar todas as dependências necessárias para usar a biblioteca.

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

Faça uma cópia do arquivo googleads.properties do repositório do GitHub e modifique-o para incluir suas credenciais.

jsonKeyFilePath=JSON_KEY_FILE_PATH developerToken=INSERT_DEVELOPER_TOKEN_HERE loginCustomerId=INSERT_LOGIN_CUSTOMER_ID_HERE 

Crie uma instância Client transmitindo o caminho para onde você mantém esse arquivo.

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

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

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::V21::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; } 

REST

Comece definindo a conta de serviço como as credenciais ativas na CLI da gcloud.

gcloud auth login --cred-file=PATH_TO_CREDENTIALS_JSON

Em seguida, busque um token de acesso do OAuth 2.0 para a API Google Ads.

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

Em seguida, gere um relatório de campanha usando o método GoogleAdsService.SearchStream para recuperar as campanhas na sua conta. Este guia não aborda os detalhes de relatórios.

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

O conteúdo de query.json é o seguinte:

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