Primeiros passos com a API

Este documento explica como começar a escrever apps que usam a API Google Bid Manager. Com ela, é possível gerenciar consultas e recuperar metadados de relatórios.

A API Bid Manager v2 é a versão mais recente disponível e recomendada.

1. Antes de começar

Se você não conhece os conceitos do Google Display & Video 360, leia a Central de Ajuda do Display & Video 360 e teste a interface.

2. Preparar para autenticação

Para começar a usar a API Bid Manager, primeiro use a ferramenta de configuração, que orienta você na criação de um projeto no console de APIs do Google e na ativação da API.

Se você ainda não tiver feito isso, crie suas credenciais do OAuth 2.0 clicando em Criar credenciais > ID do cliente OAuth. Depois, você verá seu ID de cliente na página Credenciais. Clique nele para ver detalhes, como a chave secreta do cliente, URIs de redirecionamento, endereço de origem JavaScript e endereço de e-mail.

Para mais informações, consulte Autorizar solicitações.

3. Chamar a API Bid Manager

As guias abaixo oferecem guias de início rápido para programação em várias linguagens. Um exemplo de código semelhante também pode ser encontrado no repositório Exemplos da API Bid Manager.

Java

  1. Importe as bibliotecas necessárias.

    import static java.nio.charset.StandardCharsets.UTF_8;
    import com.google.api.client.auth.oauth2.Credential;
    import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
    import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver;
    import com.google.api.client.googleapis.auth.oauth2.GoogleAuthorizationCodeFlow;
    import com.google.api.client.googleapis.auth.oauth2.GoogleClientSecrets;
    import com.google.api.client.googleapis.util.Utils;
    import com.google.api.services.doubleclickbidmanager.DoubleClickBidManager;
    import com.google.api.services.doubleclickbidmanager.model.ListQueriesResponse;
    import com.google.api.services.doubleclickbidmanager.model.Query;
    import java.io.Reader;
    import java.nio.file.Files;
    import java.nio.file.Paths;
  2. Carregue o arquivo da chave secreta do cliente e gere credenciais de autorização.

    Na primeira vez que fizer isso, será necessário aceitar uma mensagem de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google que tem acesso ao Display & Video 360. Seu app será autorizado a acessar dados em nome de qualquer conta que estiver conectada no momento.

    // Read client secrets file.
    GoogleClientSecrets clientSecrets;
    try (Reader reader = Files.newBufferedReader(Paths.get(path-to-client-secrets-file), UTF_8)) {
      clientSecrets = GoogleClientSecrets.load(Utils.getDefaultJsonFactory(), reader);
    }
    
    // Generate authorization credentials.
    // Set up the authorization code flow.
    GoogleAuthorizationCodeFlow flow =
        new GoogleAuthorizationCodeFlow.Builder(
            Utils.getDefaultTransport(),
            Utils.getDefaultJsonFactory(),
            clientSecrets,
            oauth-scopes)
        .build();
    
    Credential credential =
        new AuthorizationCodeInstalledApp(flow, new LocalServerReceiver()).authorize("user");
  3. Crie um cliente de API autorizado.

    // Create authorized API client.
    DoubleClickBidManager service =
        new DoubleClickBidManager.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("bidmanager-java-installed-app-sample")
            .build();
  4. Realize uma operação.

    // Perform an operation.
    // Call the API, getting a list of 10 queries.
    ListQueriesResponse queriesResponse = service.queries().list().setPageSize(10).execute();
    
    // Print them out.
    System.out.println("Id\t\tName");
    if (queriesResponse.getQueries().size() > 0) {
      for (int i = 0; i < queriesResponse.getQueries().size(); i++) {
        Query currentQuery = queriesResponse.getQueries().get(i);
        System.out.printf(
            "%s\t%s%n",
            currentQuery.getQueryId(),
            currentQuery.getMetadata().getTitle());
      }
    } else {
      System.out.println("No queries exist.");
    }

Para mais informações sobre como usar a API Bid Manager com Java, consulte o arquivo README nos exemplos da API Bid Manager.

Python

  1. Importe as bibliotecas necessárias.

    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient import discovery
  2. Carregue o arquivo da chave secreta do cliente e gere credenciais de autorização.

    Na primeira vez que fizer isso, será necessário aceitar uma mensagem de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google que tem acesso ao Display & Video 360. Seu app será autorizado a acessar dados em nome de qualquer conta que estiver conectada no momento.

    # Set up a flow object to create the credentials using the
    # client secrets file and OAuth scopes.
    credentials = InstalledAppFlow.from_client_secrets_file(
        path-to-client-secrets-file, oauth-scopes).run_local_server()
  3. Crie um cliente de API autorizado.

    # Build the discovery document URL.
    discovery_url = f'https://doubleclickbidmanager.googleapis.com/$discovery/rest?version=v2'
    
    # Build the API service.
    service = discovery.build(
        'doubleclickbidmanager',
        'v2',
        discoveryServiceUrl=discovery_url,
        credentials=credentials)
  4. Realize uma operação.

    # Build and execute queries.listqueries request.
    response = service.queries().list(pageSize='10').execute()
    
    # Print queries out.
    if 'queries' in response:
      print('Id\t\tName')
      for query in response['queries']:
        print('%s\t%s' % (query['queryId'], query['metadata']['title']))
    else:
      print('No queries exist.')

Para mais informações sobre como usar a API Bid Manager com Python, consulte o arquivo README nos exemplos da API Bid Manager.

PHP

Este exemplo pressupõe que você está executando o PHP com um servidor da Web integrado e configurou suas credenciais para redirecionar à página da Web relevante. Por exemplo, este código, em um arquivo index.php, pode ser executado usando o seguinte comando e credenciais configuradas para redirecionar para http://localhost:8000 após a autenticação:

php -S localhost:8000 -t ./

  1. Faça o download e instale o cliente PHP da API Google.

    O método preferido é pelo Composer:

    composer require google/apiclient:^2.12.1

    Depois de instalado, inclua o carregador automático

    require_once '/path/to/your-project/vendor/autoload.php';

  2. Crie um objeto Google_Client.

    $client = new Google_Client();
  3. Configure o cliente, redirecione para o URL de autenticação, se necessário, e recupere um token de acesso.

    Na primeira vez que fizer isso, será necessário aceitar uma mensagem de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google que tem acesso ao Display & Video 360. Seu app será autorizado a acessar dados em nome de qualquer conta que estiver conectada no momento.

    // Set up the client.
    $client->setApplicationName('DBM API PHP Samples');
    $client->addScope(oauth-scope);
    $client->setAccessType('offline');
    $client->setAuthConfigFile(path-to-client-secrets-file);
    
    // If the code is passed, authenticate. If not, redirect to authentication page.
    if (isset($_GET['code'])) {
      $client->authenticate($_GET['code']);
    } else {
      $authUrl = $client->createAuthUrl();
      header('Location: ' . $authUrl);
    }
    
    // Exchange authorization code for an access token.
    $accessToken = $client->getAccessToken();
    $client->setAccessToken($accessToken);
  4. Construa um cliente para o serviço da API Display & Video 360.

    $service = new Google_Service_DoubleClickBidManager($client);
  5. Realize uma operação.

    // Configure params for the Queries.listqueries request.
    $optParams = array('pageSize' => 10);
    
    // Execute the request.
    $result = $service->queries->listQueries($optParams);
    
    // Print the retrieved queries.
    if (!empty($result->getQueries())) {
      print('<pre><p>Id Name</p>');
      foreach ($result->getQueries() as $query) {
        printf('<p>%s %s</p>', $query->queryId, $query->metadata->title);
      }
      print('</pre>');
    } else {
      print '<p>No queries exist.</p>';
    }

Para informações mais detalhadas sobre como usar a API Bid Manager com PHP, consulte o arquivo README nos exemplos da API Bid Manager.

4. Próximas etapas

Agora que você tem uma biblioteca de cliente funcionando, confira a documentação de referência e comece a criar sua implementação.

Outros guias também estão disponíveis sobre como usar relatórios programados e seguir as práticas recomendadas de relatórios.