Consumindo serviços Web do Google em aplicações Web
As APIs AdSense do Google, expostas como serviços Web, são direcionadas a usuários que desejam participar do programa AdSense do Google. O programa AdSense do Google é um esquema de compartilhamento de receita onde o usuário permite que o Google coloque widgets no site dele. Esses widgets podem vir no formato de anúncios, dependendo do conteúdo do site do usuário, ou (como no exemplo usado neste tutorial), o widget de pesquisa do Google. Em todos os casos, o Google compartilha suas receitas com o usuário relativas aos acessos que esses widgets atraem.
Adicionar esses widgets requer algum esforço de programação, tal como neste exemplo, em que você tipicamente deveria saber sobre serviços Web. Entretanto, este tutorial descreve como você pode usar o NetBeans IDE para adicionar um widget de pesquisa do Google ao seu site com um nível muito mínimo de conhecimento e codificação de sua parte.
Observação: Neste tutorial, estaremos interagindo com a área de segurança do desenvolvedor do Google. Suas regras tendem a mudar de tempos em tempos. Se você encontrar erros de tempo de execução ou se os valores especificados neste tutorial não funcionarem para você, aconselhamos a leitura do texto do erro mostrado no navegador e a verificação cuidadosa do código em busca de erros de digitação nos valores indicados. Em seguida, se tudo estiver correto, então possivelmente os valores da área de segurança do desenvolvedor do Google foram alterados. Consulte http://code.google.com/apis/adsense/ para ajustar os valores, se necessário.
Primeiro, você precisa criar um projeto da Web. Nesse caso, usaremos uma das amostras incluídas no assistente para Novo projeto como nosso ponto de partida.
Escolha Arquivo > Novo projeto. Em Categorias, selecione Amostras e, em seguida, Serviços Web RESTful. Em Projetos, selecione Banco de dados do cliente, como mostrado abaixo:
Clique em Próximo e clique em Terminar.
O projeto de amostra se abre no IDE, com seu esboço de projeto na janela Projetos.
Adicionando o serviço Web do Google
Arrastando e soltando um item da paleta de componentes, você pode permitir ao IDE gerar todo o código necessário para a comunicação com o serviço Web do Google. Depois de fazer isso, você pode se referir à APIs relacionadas do Google, como mostrado abaixo, para personalizar o código. Finalmente, o IDE ajuda-o a testar o aplicativo, fornecendo um cliente Web que chama todas as operações disponíveis no serviço Web.
Para adicionar o serviço Web:
Abra a classe CustomerResource no pacote customerdb.service.
Adicione o método seguinte à classe:
@Path("adSenseForSearch")
@GET
@ProduceMime("text/html")
public String getAdSenseForSearchCode() {
// dnd here and return the generated html code.
return null;
}
Abra a aba Serviços no IDE. Expanda o nó Serviços Web. Você vê uma lista de todos os serviços Web. Localize o nó Google e expanda-o. Na lista de serviços do Google, localize o Serviço AdSenseForSearch e expanda-o, revelando a operação GoogleAdSenseForSearch.
Arraste a operação generateSearchBoxCode e solte-a no corpo do método getAdSenseForSearch.
Quando você solta o item, aparece um certificado (a menos que você já confie em sandbox.google.com). Aceite o certificado. O personalizador seguinte aparece (a imagem mostra o personalizador depois que ele é preenchido):
Preencha o personalizador com as seguintes informações:
country.US
searchType.GoogleSiteSearch
selectedDomain.wiki.netbeans.org
Clique em OK. Uma barra de progresso aparece enquanto o IDE adiciona o serviço Web ao projeto. O corpo completo do método getAdSenseForSearch é o seguinte:
@Path("adSenseForSearch")
@GET
@ProduceMime("text/html")
public String getAdSenseForSearchCode() {
// dnd here and return the generated html code.
try {
java.lang.String synServiceId = "";
java.lang.String country = "US";
java.lang.String searchType = "GoogleSiteSearch";
com.google.api.adsense.v2.SiteProperties siteProperties = null;
com.google.api.adsense.v2.SearchOptions searchOptions = null;
java.util.List domains = null;
java.lang.String selectedDomain = "wiki.netbeans.org";
com.google.api.adsense.v2.SearchBoxStyle searchBoxStyle = null;
java.lang.String channelName = "";
com.google.api.adsense.v2.AdSenseForSearchServiceService service = new com.google.api.adsense.v2.AdSenseForSearchServiceService();
com.google.api.adsense.v2.AdSenseForSearchService port = service.getAdSenseForSearchService();
// TODO process result here
java.lang.String result = port.generateSearchBoxCode(synServiceId, country, searchType, siteProperties, searchOptions, domains, selectedDomain, searchBoxStyle, channelName);
return result;
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
Personalize ligeiramente o código do corpo do método getAdSenseForSearch, para as seguintes variáveis locais:
synServiceId = "partner-pub-6309917007979926";
// the digits in synServiceId must be the same as the digits in the AdSense Service ID
Copie a parte numérica do ID do serviço AdSense do Google que você obteve no início (consulte Software necessário para este tutorial). Use esse número como a parte numérica de synServiceId.
Adicionando o código ao aplicativo
Esta seção o orienta na implementação do código da API do Google e mostra-lhe aonde ir para obter mais informações. Todo código é implementado na classe AdSenseForSearchResource.
Adicione o seguinte método setHeaderParameters em qualquer lugar em CustomerResource. Use o valor partner-pub-xxxxx que você obteve antes de começar o tutorial (consulte Software necessário para este tutorial). Corrija as importações depois de colar o código.
Adicione o corpo do método getAdSenseForSearch seguinte, abaixo de // TODO process result here:
domains = java.util.Arrays.asList(new String[]{selectedDomain});
// Set the search options
searchOptions = new SearchOptions();
// Set the site properties
siteProperties = new com.google.api.adsense.v2.SiteProperties();
siteProperties.setLocale("en");
siteProperties.setEncoding("");
// Set the style
searchBoxStyle = new com.google.api.adsense.v2.SearchBoxStyle();
searchBoxStyle.setLogoType("GoogleLogo");
searchBoxStyle.setBackgroundColor("#CCCCCC");
searchBoxStyle.setTextColor("black");
searchBoxStyle.setTextBoxLength(40);
searchBoxStyle.setSearchStyleName("Blue Sky");
Adicione também esta linha ao corpo do método getAdSenseForSearchCode:
Na janela Projetos, clique com o botão direito do mouse no projeto e escolha Testar serviços Web RESTful. O servidor se inicia e o navegador se abre, exibindo o cliente Web RESTful, que você pode usar para testar a interação com o serviço Web RESTful.
Agora, selecione o link '/customers' e clique em Testar. Em seguida, selecione um link de cliente (tal como '/customers/1/') e clique novamente em Testar. Finalmente, selecione o link '/customers/1/adSenseForSearch/' e garanta a seleção do tipo MIME 'text/html', como mostrado abaixo, e clique novamente em Testar.
Na aba Visualização bruta, você agora deve ver a caixa Pesquisa do Google.
Indique algumas palavras na caixa de pesquisa e cliente em Pesquisar. O navegador se abre, com os resultados da sua pesquisa, desde que o seu aplicativo esteja funcionando corretamente.
Clique no link acima da linha Testar entrada. O link é semelhante a http://localhost:8080/CustomerDB/resources/customers/1/adSenseForSearch/. O link leva você para fora do modo de teste e para uma nova janela do navegador da própria aplicação Web.
Para enviar comentários e sugestões, obter suporte e se manter informado sobre os mais recentes desenvolvimentos dos recursos de desenvolvimento de Java EE do NetBeans IDE, inscreva-se na lista de endereçamento de .