VB.NET - Usando a API do Google (Web Services)


Neste artigo eu não vou me ater a definições sobre o que são e como funcionam os web services. Se você tem curiosidade e deseja saber mais sobre este assunto visite o sitio : http://www.w3.org/TR/wsdl.

Nota: Veja também os artigo: ASP.NET -  Criando Web Services   e   VB .NET - Criando WebServices

Este artigo vai mostrar como usar o web service disponibilizado pelo Google (conhece !!). O pessoal do Google se deu ao trabalho de criar um web service colocando-o a nossa disposição. Nós agradecemos e vamos usá-lo.

Para poder usar o recurso oferecido nós só temos que conhecer a URL para alcançar o tal Web Service, os métodos do tal web service e suas assinaturas. Calma que chegamos lá... A documentação dos métodos esta no link http://www.google.com/apis/reference.html.

Antes de continuar eu tenho que avisá-lo que para poder usar as APIs de consulta do Google você tem que se registrar criando uma conta para obter uma autorização de acesso - Google Web APIs License  - que lhe permite efetuar consultas em um limite diário de 1000. Você usará esta licença informando-a código como será mostrado a seguir.

Você pode também fazer o download do kit do desenvolvedor a partir do link http://www.google.com/apis/download.html . Este download é um arquivo zip que contém exemplos de código em  C#, VB.Net, e Java

Vamos ao trabalho...

Abra o Visual Basic 2005 Express e crie um novo projeto chamado googleServico .

Vamos incluir uma referência ao Web Service que iremos usar:

No Solution Explorer clique com o botão direito do mouse sobre o nome do projeto e selecione a opção :  Add Web Reference...

A janela "Add Web Reference" irá surgir; na barra de endereços digite a seguinte URL para a API do web service do Google: http://api.google.com/GoogleSearch.wsdl

A opção para incluir uma referência a um Web Service no projeto.

Clique no botão Go. O VB 2005 Express  irá então procurar na web e verificar se existem serviços na URL que foi informada. Ao encontrar o serviço será exibida a tela abaixo exibindo os métodos que estão disponíveis. Vamos usar os métodos doGoogleSearch() e doSpellingSuggestion()

Você pode alterar o nome na caixa de texto Web reference name para algo mais simples. Eu vou deixar com o mesmo nome: com.google.api

Este nome será usado como um namespace deste componente na sua aplicação.

Você já pode clicar no botão Add Reference.

Ao fazer isto será incluída a referência no seu projeto na janela Solution Explorer:

Se você realizou as etapas acima descritas com sucesso já tem todos os ingredientes para poder usar a API do Google, no caso iremos usar as APIs para corretor ortográfico e para busca, no seu projeto Visual Basic.

1- Criando a interface para usar a API do corretor ortográfico do Google

Na janela Solution Explorer do projeto VB altere o nome do formulário para : frmCorretorGoogle.vb

A seguir inclua os seguintes controles no formulário : GroupBox , Label, TextBox e Button , conforme o leiaute abaixo:

Nome dado aos controles:

- txtConsulta
- btnCorretor
- txtSugestao

- btnProcurarPalavra

 

Agora no topo do formulário frmCorretorGoogle inclua as seguintes definições de variáveis:

Private Const minhaLicensaGoogle As String = "9999999999999/888888888888"
Private oGoogle As com.google.api.GoogleSearchService = New com.google.api.GoogleSearchService

A primeira linha define a licença que você obteve ao se registrar no Google, ela será usada para poder acessar os serviços das APIs. Informe aqui a sua licença.

A segunda linha cria um objeto oGoogle a partir da referência que obtivemos da API do Google.

Agora no evento Click do botão Google - Corretor inclua o seguinte código:

Private Sub btnCorretor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCorretor.Click

If txtConsulta.Text.Length = 0 Then
      txtConsulta.Text =
"Informe a palavra para consulta"
Else

      txtSugestao.Text = oGoogle.doSpellingSuggestion(minhaLicensaGoogle, txtConsulta.Text)
End
If

End Sub

Este código usa o objeto criado a partir da API do Google para obter a sugestão para a correção ortográfica da palavra informada na caixa de texto txtConsulta.text.

O formulário possui também um botão que aciona o formulário frmBuscaGoogle.vb onde iremos usar a API de busca do Google. Para chamar este formulário inclua o seguinte código no evento click do botão:

Private Sub btnProcurarPalavra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProcurarPalavra.Click

     My.Forms.frmBuscaGoogle.Show()

End Sub

Executando o projeto e consultando uma palavra temos o seguinte resultado:

2- Criando a interface para usar a API de Busca do Google

Vamos incluir um novo formulário no nosso projeto. No menu Project selecione a opção Add Windows Form e informe o nome frmBuscaGoogle.vb para este novo formulário.

A seguir inclua os seguintes componentes : TextBox, Button, Label, DataGridView e ComboBox conforme o leiaute da figura abaixo.

 

Agora no topo do formulário frmBuscaGoogle inclua as seguintes definições de variáveis:

Private Const minhaLicensaGoogle As String = "9999999999999/888888888888"
Private oGoogle As com.google.api.GoogleSearchService = New com.google.api.GoogleSearchService

A primeira linha define a licença que você obteve ao se registrar no Google, ela será usada para poder acessar os serviços das APIs. Informe aqui a sua licença.

A segunda linha cria um objeto oGoogle a partir da referência que obtivemos da API do Google.

No evento Click do botão - Google - Busca -  inclua o seguinte código:

Private Sub btnProcurar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProcurar.Click

        'Aciona a API Google para procurar pelas palavras chaves
        Dim oResultado As com.google.api.GoogleSearchResult
        Dim qtdeItensAExibir As Integer = cboQtdeItensExibir.Text

        Try
            oResultado = oGoogle.doGoogleSearch(minhaLicensaGoogle, txtPalavraChave.Text, 0, qtdeItensAExibir, False, "", False, "", "", "")
            'Cria uma Tabela  para armazenar os resultados retornados pelo google
            Dim dtbResultado As DataTable = New DataTable

            'define as colunas da tabela
            With dtbResultado.Columns
                .Add("Title", GetType(String))
                .Add("URL", GetType(String))
            End With

            'Armazena a informação em um  DataTable
            Dim x As com.google.api.ResultElement
            For Each x In oResultado.resultElements
                'cria uma nova linha na tabela
                Dim objRow As DataRow = dtbResultado.NewRow
                objRow.Item("Title") = x.title
                objRow.Item("URL") = x.URL
                dtbResult.Rows.Add(objRow)
            Next
            lblResultado.Text = oResultado.estimatedTotalResultsCount & " itens encontrados"
            'Exibe o resultado no datagridview
            With gdvResultado
                .DataSource = dtbResultado
            End With
        Catch ex As Exception
            MsgBox("Erro : " & ex.Message)
        End Try
    End Sub

 

Ao executar o projeto , apos informar a palavra chave e clicar no botão Google- Busca teremos o resultado exibido no DataGridView. (O número máximo de itens a ser exibido é 10).

Como você acabou de conferir é muito simples incluir recursos da API do Google em seu projeto VB.

Pegue o projeto completo aqui : googleServico.zip

Até o próximo artigo...


José Carlos Macoratti