Começar a usar o Java com a API Bing Ads

Importante

Recomendamos que utilize Java 11 ou posterior. A versão mínima do Java que suportamos é 1.8. É necessário iludir o CXF das suas dependências ao utilizar o 1.8. Você pode criar este arquivo de exemplo com o Maven.

Para começar a desenvolver aplicativos da API do Bing Ads com Java, você pode começar com os exemplos fornecidos ou seguir um dos passo a passo do aplicativo para um aplicativo Web ou de Desktop .

Precisará de credenciais de utilizador com acesso ao Microsoft Advertising em produção ou sandbox. Para o ambiente de produção, você precisará de um token de desenvolvedor de produção. Todos os clientes de sandbox podem usar o token de desenvolvedor de sandbox universal, ou seja, BBD37VB98. Para obter mais informações, consulte Introdução à API e àSandbox do Bing Ads.

Para autenticar via OAuth, você também deve registrar um aplicativo e obter o identificador de cliente correspondente. Você também precisa tomar nota do segredo do cliente e redirecionar o URI se estiver desenvolvendo um aplicativo Web. Para obter mais detalhes sobre como registrar um aplicativo em produção e o fluxo de concessão de código de autorização, consulte Autenticação com OAuth e Autenticação com SDKs. Embora em produção você deva usar seu próprio ID de aplicativo (também conhecido como ID de cliente), todos os clientes do Microsoft Advertising podem usar o ID de cliente público "Aplicativo de amostra tutorial" em sandbox, ou seja, 00001111-aaaa-2222-bbbb-3333cccc4444. Para obter mais informações, consulte Sandbox.

Instalar o SDK

O SDK Java do Bing Ads depende das bibliotecas listadas no repositório Maven.

Quando você cria um projeto Maven e inclui o artefato microsoft.bingads Maven, conforme mostrado abaixo, dependências adicionais são instaladas automaticamente. Se você não estiver usando um projeto Maven, deverá incluir a versão correta de cada dependência. Para obter mais informações, consulte o Passo a passo: Aplicativo Web da API Bing Ads em Java ou Passo a passo: Aplicativo de desktop da API Bing Ads em exemplos de aplicativos Java.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  ...
  <dependencies>
    <dependency>
      <groupId>com.microsoft.bingads</groupId>
      <artifactId>microsoft.bingads</artifactId>
      <version>13.0.10</version>
    </dependency>
  </dependencies>
</project>

Nota

A versão 13.0.10 está incluída como exemplo. Para obter detalhes sobre a versão mais recente da dependência do SDK, consulte o README.md do GitHub do SDK Java do Bing Ads.

Instruções

Depois de instalar o SDK Java do Bing Ads, navegue pelos Exemplos de Código da API do Bing Ads, baixe os exemplos do GitHub ou siga um dos passo a passo do aplicativo para um aplicativo Web ou de Desktop .

Configuração do Sandbox

Para usar o ambiente Sandbox , crie um novo arquivo de texto chamado bingads.properties dentro do diretório raiz de origem do projeto, por exemplo, ProjectName\src\bingads.properties e adicione o seguinte texto. A seguir está o conteúdo completo do arquivo bingads.properties . Se a configuração do ambiente de área restrita estiver malformada ou ausente, o ambiente padrão é de produção.

environment=Sandbox

Você também pode definir o ambiente para cada ServiceClient individualmente da seguinte maneira.

CustomerService = new ServiceClient<ICustomerManagementService>(
    authorizationData,
    ApiEnvironment.SANDBOX,
    ICustomerManagementService.class
);

Quer você defina o ambiente ServiceClient globalmente ou individualmente, separadamente, você também precisará definir o ambiente OAuth como área restrita.

final OAuthDesktopMobileAuthCodeGrant oAuthDesktopMobileAuthCodeGrant = new OAuthDesktopMobileAuthCodeGrant(
    ClientId, 
    ApiEnvironment.SANDBOX
);

Os aplicativos Web com um segredo do cliente e um URI de redirecionamento personalizado devem usar OAuthWebAuthCodeGrant da seguinte maneira.

OAuthWebAuthCodeGrant oAuthWebAuthCodeGrant = new OAuthWebAuthCodeGrant(
    ClientId, 
    ClientSecret, 
    new URL(RedirectUri),
    ApiEnvironment.SANDBOX
);

Registre os cabeçalhos de solicitação e resposta no console. O TrackingId está incluído nos cabeçalhos de resposta.

MessageHandler.getInstance().setTraceOn(true);

Personalizando o cliente HTTP

Para a maioria dos aplicativos, recomendamos usar a implementação de cliente HTTP padrão no SDK Java do Bing Ads, que depende do cliente Apache CXF JAX-RS. Você pode querer personalizar o cliente HTTP para configurar alguns recursos, como habilitar a compactação se você usar uma implementação JAX-RS diferente, para alterar o tempo limite HTTP, a configuração do proxy ou outras configurações.

Para fazer isso, você pode criar um objeto personalizado HttpClientProvider e passá-lo para antes GlobalSettings.setHttpClientProvider() de fazer chamadas de serviço. Por exemplo:

GlobalSettings.setHttpClientProvider(new HttpClientProvider() 
{ 
    @Override 
    protected ClientBuilder configureClientBuilder(ClientBuilder clientBuilder) { 
        return super.configureClientBuilder(clientBuilder) 
            // override default connect timeout 
            .connectTimeout(90, TimeUnit.SECONDS)
            // override default read timeout
            .readTimeout(5, TimeUnit.MINUTES) 
            // enable compression (if using Jersey client)
            .register(org.glassfish.jersey.message.GZipEncoder.class)
            .register(org.glassfish.jersey.client.filter.EncodingFilter.class);
    }
}); 

Registar chamadas de serviço

Para ativar o registo de mensagens de pedido e resposta, pode definir a com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump propriedade como true:

System.setProperty("com.sun.xml.ws.transport.http.client.HttpTransportPipe.dump", "true");

Por padrão, o SDK Java do Bing Ads usa o Apache CXF para fazer chamadas de serviço, que depende do Simple Logging Facade for Java para escrever seus logs. Para enviar mensagens registradas para o console, você pode adicionar a slf4j-simple implementação às dependências do aplicativo. Por exemplo:

<dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-simple</artifactId> 
    <version>2.0.12</version> 
</dependency> 

See Also

Bibliotecas de cliente da API Bing Ads
Exemplos de código da API Bing Ads
Endereços de serviço Web da API Bing Ads
Lidando com erros e exceções de serviço
Área restrita