Configurar o cliente

Depois de criar as credenciais do OAuth 2.0 e instalar uma biblioteca de cliente, estará tudo pronto para usar a API Display & Video 360. Saiba como autorizar, configurar o cliente e fazer a primeira solicitação seguindo o guia de início rápido abaixo.

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.displayvideo.v3.DisplayVideo;
    import com.google.api.services.displayvideo.v3.DisplayVideo.Advertisers;
    import com.google.api.services.displayvideo.v3.model.Advertiser;
    import com.google.api.services.displayvideo.v3.model.ListAdvertisersResponse;
    import java.io.Reader;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
  2. Carregue o arquivo de chaves secretas do cliente e gere credenciais de autorização.

    Na primeira vez que você executar esta etapa, será solicitado que você aceite um prompt de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google com acesso ao Display & Video 360. O app será autorizado a acessar dados em nome de qualquer conta que estiver conectada no momento. Consulte o guia Autorizar solicitações para mais detalhes sobre as permissões do usuário do Display & Video 360.

    // 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.
    DisplayVideo service =
        new DisplayVideo.Builder(credential.getTransport(), credential.getJsonFactory(), credential)
            .setApplicationName("displayvideo-java-installed-app-sample")
            .build();
    
  4. Execute uma operação.

    // Perform an operation.
    // Retrieve and print the first ten advertisers under a partner.
    ListAdvertisersResponse response =
        service
            .advertisers()
            .list()
            .setPartnerId(partner-id)
            .setPageSize(10)
            .execute();
    if (response.getAdvertisers().size() > 0) {
      for (int i = 0; i < response.getAdvertisers().size(); i++) {
        System.out.printf(
            "ID: %s Display Name: %s%n",
            response.getAdvertisers().get(i).getAdvertiserId(),
            response.getAdvertisers().get(i).getDisplayName());
      }
    } else {
      System.out.print("No advertisers found.");
    }
    

Python

  1. Importe as bibliotecas necessárias.

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

    Na primeira vez que você executar esta etapa, será solicitado que você aceite um prompt de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google com acesso ao Display & Video 360. O app será autorizado a acessar dados em nome de qualquer conta que estiver conectada no momento. Consulte o guia Autorizar solicitações para mais detalhes sobre as permissões do usuário do Display & Video 360.

    # 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://displayvideo.googleapis.com/$discovery/rest?version=v3'
    
    # Build the API service.
    service = discovery.build(
        'displayvideo',
        'v3',
        discoveryServiceUrl=discovery_url,
        credentials=credentials)
    
  4. Execute uma operação.

    # Build advertisers.list request.
    request = service.advertisers().list(
        partnerId=partner-id, pageSize='10')
    
    # Execute request.
    response = request.execute()
    
    # Print response.
    if len(response['advertisers']) > 0:
      for advertiser in response['advertisers']:
        print(f'ID: {advertiser["advertiserId"]} Display Name: {advertiser["displayName"]}')
    else:
      print('No advertisers found.')
    

PHP

Nesta amostra, presumimos que você esteja executando o PHP com um servidor da Web integrado e que tenha configurado 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 as 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 do Google.

    O método preferencial é usar o Composer:

    composer require google/apiclient:^2.15.1 google/apiclient-services:=0.332.0
    

    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 você executar esta etapa, será solicitado que você aceite um prompt de autorização no navegador. Antes de aceitar, verifique se você fez login com uma Conta do Google com acesso ao Display & Video 360. O app será autorizado a acessar dados em nome de qualquer conta que estiver conectada no momento. Consulte o guia Autorizar solicitações para mais detalhes sobre as permissões do usuário do Display & Video 360.

    // Set up the client.
    $client->setApplicationName('DV360 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. Crie um cliente para o serviço da API Display & Video 360.

    $service = new Google_Service_DisplayVideo($client);
    
  5. Execute uma operação.

    // Configure params for the advertisers.list request.
    $optParams = array('pageSize' => 10, 'partnerId' => partner-id);
    
    // Execute the request.
    $result = $service->advertisers->listAdvertisers($optParams);
    
    // Print the retrieved advertisers.
    if (!empty($result->getAdvertisers())) {
      print('<pre>');
      foreach ($result->getAdvertisers() as $advertiser) {
        printf('<p>ID: %s, Display Name: %s</p>', $advertiser->advertiserId, $advertiser->displayName);
      }
      print('</pre>');
    } else {
      print '<p>No advertisers found.</p>';
    }