Login Registre-se

Você pode ganhar um iPad 2 na promoção do Javafree

O Portal javafree.org inicia mais uma promoção para os usuários do fórum. Quem publicar mais posts válidos (perguntas ou respostas) entre 16/4 a 13/7 levará para casa um iPad 2 de 16GB!

Clique aqui e saiba mais.
Home > Artigos > Frameworks, APIs, Instalação e Configuração >

Explore vídeos usando a API IVA

Publicado por equipejavafree em 14/09/2010 - 2.487 visualizações


comentários: 0

Autor: William Antônio Siqueira
Colaborador JavaFree
Analista Programador ABAP/Java

1. Introdução

O uso de APIs para exploração de conteúdo, criação de Mashups e integração de plataformas e serviços("Twitter no seu blog", por exemplo) é mais que comum na WEB, é predominante! A facilidade de uso dessas APIs deve estar sempre presente, pois o gerador de conteúdo/aplicativos nem sempre é um programador experiente e, geração de conteúdo aliada ao dinamismo, é uma das bases da WEB 2.0 (artigo do O'Relly). Nessas condições, toda plataforma, aplicação de uso e acesso complicados, está fardada ao fim. Temos assim um novo paradigma na construção de aplicações e em como programamos.

Caminhamos para o que chamamos de "WEB Programável", onde todos os sites/sistemas são legíveis por seres humanos e aplicações/máquinas. Isso é possível através de serviços WEB.

Nesse artigo pretendemos mostrar como funciona uma API de busca de vídeos sobre filmes, músicas e jogos.

Observação: Este artigo está escrito para ser publicado há mais de 7 meses(!!!). Algumas atualizações devem ter sido feitas, mas minhas aplicações baseadas na API continuam funcionando.


2. Conhecendo a API do IVA

A API do IVA - Internet Video Archive - fornece, entre outras coisas, informações sobre vídeos. Esses vídeos podem ser de shows de televisão, trailers de filmes, games, vídeos musicais entre outros. A API retorna informações sobre esses vídeos com uma breve descrição, título, imagem e uma URL para o conteúdo em questão. Há também atributos que dependem do conteúdo que estamos explorando como, por exemplo, atores que só se aplica a filme, não a um vídeo musical. Da mesma forma, temos o artista que só se aplica para vídeos musicais e, plataforma que se aplica a vídeos de jogos.

Para acessar esses dados temos métodos como, por exemplo, acessar através da data de lançamento, acessar através do título, ator (para vídeos, séries), artista (para vídeos musicais)... Iremos explorar alguns desses métodos.

2.1 Funcionamento da API
A API é baseada em WEB Services REST (não iremos entrar na discussão REST ou RPC aqui, simplesmente tratamos o serviço como REST), onde temos uma URI que identifica o recurso. O retorno de dados de todos os métodos, até a data da escrita desse artigo, é feita em dois formatos: XML e RSS. A determinação do formato é através de um parâmetro enviado na URL. Muitos parâmetros podem ser enviados. Iremos falar de poucos para não nos estendermos. Quem quiser conhecer a API a fundo, pode acessar essa URL:

http://api.internetvideoarchive.com/Documentation.aspx

Após a URL básica, podemos enviar alguns parâmetros. Citarei os mais interessantes para nosso artigo:

DeveloperID
Essa é a identificação do desenvolvedor, você deve adquirir uma chave dessa para utilizar a API. A inscrição é fácil, simplesmente click no link indicado, informe seu e-mail/website e o ID será enviado para seu e-mail.
Esse parâmetro é obrigatório, então, pegue já a sua ID ;).

0

Site: http://api.internetvideoarchive.com/Default.aspx

Page (Default: 1)
Esse parâmetro ajuda no controle da paginação. Cada página tem um total de resultados controlado por PageSize.

PageSize (Default: 20)
Quantos resultados por página; você pode indicar até 50.

SearchTerm (Default: Empty)
O valor para a busca que você está realizando. Em uma busca por título, por exemplo, o valor desse parâmetro deveria ser o título a ser buscado.

5. OutputFormat (Default: 0)

Formato de retorno. Valor 0 retorna XML, 1 retorna um RSS com detalhes adicionados pela API, 2 retorna um RSS padrão, sem os detalhes da API.

Conforme já dito, os WEB Services são REST, logo, o acesso ao recurso é através de uma URI. Essa tem uma sintaxe simples, abaixo demonstrada:

http://api.internetvideoarchive.com/{1}/{2}.aspx

Onde 1 é o que você deseja procurar de acordo com a especificação da API (Video, Games...) e 2 é o método, também de acordo com a especificação da API (ByTitle, SearchByGenre...).
A partir desse ponto, você já conhece o esqueleto de uma URI para acessar um recurso da IVA API. Resta conhecer o que preencher nesse esqueleto. Simplificando, faça um GET em:

http://api.internetvideoarchive.com/{O quê?}/{Como?}.aspx?DeveloperId={Seu ID}&SearchTerm={Valor base para pesquisa}&PageSize={Quantos resultados?}


2.2 Resposta da API

Talvez esse seja o ponto mais crítico da API, mas ainda é muito fácil. O que a API retorna pode variar de acordo com o que você pede da API, conforme já falado. Abaixo estão os parâmetros que a API retorna (no formato que você escolher, como já falado):

Como a lista é extensa e pode sofre modificações, sugerimos que seja consultada diretamente no site da API: http://api.internetvideoarchive.com/Documentation.aspx


2.3 O que procurar?

A API oferece dados de vídeos de filmes e TV, músicas e jogos. Na URL, para filmes e TV usamos Video, para música usamos Music e para jogos Game. Pena que não é possível montar uma URL onde somente trocar o que queremos, pois o método varia. Por exemplo: podemos ter uma busca por ator, coisa que não é suportada quando procuramos por jogos.

2.4 Como procurar?

Essa pergunta depende do que procuramos. Conforme já falado, podemos realizar buscas por ator, mas isso só se aplicaria a filmes e seriados, não a jogos e a clipes musicais. Iremos destacar alguns métodos básicos. Para mais detalhes aconselhamos o leitor a ler a documentação da API para conhecer todos os métodos. Conforme mostramos os métodos, você pode montar a URL e tentar acessar para ver a resposta da API (Lembrando que muitos navegadores tentam renderizar o XML, não sendo possível ver o código. Nesse caso, clique com o botão direito e clique em mostrar código fonte)

1- Filmes e shows de TV:

Por título: Retorna vídeos de acordo com o título. URL: http://api.internetvideoarchive.com/Video/TitleSearch.aspx?DeveloperId={Seu ID}&SearchTerm={Termo de pesquisa}

Por Ator: Busca por nome do ator. Devemos utilizar o nome inteiro, com extrema precisão, de acordo com o banco de dados deles. URL: http://api.internetvideoarchive.com/Video/MoviesByActorName.aspx?DeveloperId={Seu ID}&SearchTerm={Nome do ator}

Por Diretor: Pelo nome do diretor. Mesmas considerações acima. URL: http://api.internetvideoarchive.com/Video/MoviesByDirectorName.aspx?DeveloperId={Seu ID}&SearchTerm={Nome do diretor}

Por gênero: Busca por gênero. Usamos um Id de acordo com a tabela(tabela 1) presente no site na seção "Video", enviando "1", você acessará dados de vídeos na categoria Action-Adventure. URL: http://api.internetvideoarchive.com/Video/MoviesByGenreID.aspx?DeveloperId={Seu ID}&SearchTerm={ID Gênero}

Tabela de gêneros para vídeos(pode estar desatualizada, recomenda-se acessar a documentação):

tabela 1

0

2 -Vídeos musicais

Por título: Busca músicas por título de diversas fontes. URL: http://api.internetvideoarchive.com/Music/TitleSearch.aspx?DeveloperId={Seu ID}&SearchTerm={Termo de busca}

Novas músicas: Retorna as músicas mais novas. URL: http://api.internetvideoarchive.com/Music/New.aspx?DeveloperId={Seu ID}

Por artista: Retorna músicas por nome do artista. Válidas as considerações para busca de vídeo por ator. URL: http://api.internetvideoarchive.com/Music/SearchByArtistName.aspx?DeveloperId={Seu ID}&SearchTerm={Nome}

Por gênero: Semelhante a busca por gênero de filme de acordo com a tabela 2, ou seja, se você enviar o valor 0 receberá clipes/dados de músicas country. URL: http://api.internetvideoarchive.com/Music/SearchByGenreId.aspx?DeveloperId={Seu ID}&SearchTerm={ID Gênero}


tabela 2

0
3 - Traillers de Jogos

Por título: Busca feita por título. URL: http://api.internetvideoarchive.com/Game/TitleSearch.aspx?DeveloperId={Seu ID}&SearchTerm={ID Gênero}

Por Gênero: Como as buscas por gênero anteriores de acordo com a tabela 3. URL: http://api.internetvideoarchive.com/Game/SearchByGenreId.aspx?DeveloperId={Seu ID}&SearchTerm={ID Gênero}

tabela 3

0


2.5 Conclusão sobre a API

A API mostrou-se rápida na resposta e que contém um grande banco de dados nos três tipos de busca. É uma fonte interessante para quem quer aprender a programar acesso a RESTful WEB Services ou criar aplicações interessantes para celular ou o próprio site.

Autori


comentários: 0