UOL Mais - API

O UOL Mais possui uma API (Application Programming Interface) para extração de dados, especificamente para obter informações sosobre posts, zeitgeists, tags e conteúdos de usuários.

A API do UOL Mais consiste de uma série de chamadas HTTP que retornam respostas em JavaScript, contendo objetos básicos e callbacks.

As chamadas sempre retornam um objeto UOLData, contendo todos os métodos necessários para lidar com os dados.

Objetos Básicos

Descritor de post

Descrição: Utilizado para dedescrever um post

Atributo Tipo Descrição
title String Título do post
id String Identificador do post
url String URL para visualizacao do post
thumbnail String URL do thumbnail, que deve ser concatenada a uma das strings abaixo, indicando o tamanho do thumbnail desejado:

- 320 x 240: ".png"
- 114 x 85: "-large.png"
- 94 x 70: "-medium.png"
- 75 x 56: "-small.png"
- Um dos 10 frames extraídos, em 114 x 85: "-[cena de 0 a 9].png"
description String Descricao do post
adultContent Boolean Indicador de conteúdo adulto:

true: conteúdo adulto
false: conteúdo normal
author String Apelido do usuario que enviou o post
codProfile String Identificador do usuario que enviou o post
views Number Total de visualizacoes do post
favorites Number Numero de pessoas que adicionaram o post como favorito
duration String Duracao do post, formatado como "mm:ss"
publisehedAt String Data e hora de publicacao do post, no formato "yyyy-mm-dd hh:mm:ss"
tags Tag Array Colecao de objetos "tag" contendo as tags do post

Descritor de tags

Descrição: Utilizado para descrever uma tag

Atributo Tipo Descrição
id String Identificador da tag
description String Descrição da tag
weight Number Peso da tag, variando de 1 (menos freqüente) a 5 (mais freqüente)
* Disponível apenas para TagCloud
count Number Quantidade de vezes que a tag foi utilizada
* Disponível apenas para tagCloud

Chamadas disponíveis

Todas as chamadas estão disponíveis em dois formatos:

  • Método com callback: chama a função "callback" passando a coleção de vídeoposts ou tags como único parâmetro assim que os dados são carregados. Este método só está disponível quando os dados já foram carregados. Caso contrário, será NULL.
  • Atributo com callback: deve receber uma função para callback, que será executada automaticamente passando a coleção de vídeoposts ou tags como único parâmetro.

Zeitgeists

  • URL: http://mais.uol.com.br/api/zeitgeists.js
  • Tipo de objeto retornado: video
Tópico Método com callback Atributo com callback
Posts mais visualizados UOLData.videosMostViewed(callback) UOLData.videosMostViewedComplete
Posts mais votados UOLData.videosMostVoted(callback) UOLData.videosMostVotedComplete
Posts mais recentes UOLData.videosMostRecent(callback) UOLData.videosMostRecentComplete
Posts mais favoritos UOLData.videosMostFavorited(callback) UOLData.videosMostFavoritedComplete

Posts de uma tag

  • URL: http://mais.uol.com.br/api/MediasByTag.js
  • Tipo de objeto retornado: video
Parâmetro para query string Descrição
tag.id Identificador da tag desejada
Tópico Método com callback Atributo com callback
Geral UOLData.videosByTag(callback) UOLData.videosByTagComplete

Posts de um usuário por tag

  • URL: http://mais.uol.com.br/api/userMediasByTag.js
  • Tipo de objeto retornado: vídeo
Parâmetro para query string Descrição
codProfile Identificador do usuário desejado
tag.id Identificador da tag desejada
useProfile Sempre 1
Tópico Método com callback Atributo com callback
Posts mais visualizados UOLData.videosMostViewed(callback) UOLData.videosMostViewedComplete
Posts mais votados UOLData.videosMostVoted(callback) UOLData.videosMostVotedComplete
Posts mais recentes UOLData.videosMostRecent(callback) UOLData.videosMostRecentComplete
Posts mais favoritos UOLData.videosMostFavorited(callback) UOLData.videosMostFavoritedComplete

TagCloud

  • URL: http://mais.uol.com.br/api/tagcloud.js
  • Tipo de objeto retornado: tag
Tópico Método com callback Atributo com callback
Geral UOLData.videosTagcloud(callback) UOLData.videosTagcloudComplete

Exemplo de uso

<script type="text/javascript">
	var UOLData = UOLData || {};
	
	$(function()
	{
		if (UOLData.videosMostRecent)
		{
			UOLData.videosMostRecent(function(data)
			{
				var html = '';
	
				if (data.length> 0)
				{
				for(var i in data)
				{
					if (parseInt(i) > 2)
					{
						break;
					}
	
					var video = data[i];
	
					html += '<div class="movie ' + (parseInt(i) == 2? 'last' : '') + '">';
					html += '<a class="thumbnail" href="' + video.url + '" target="_blank"><img src="' + video.thumbnail + 
						'-large.png" class="thumb" alt="" /><img class="play" src="http://mais.uol.com.br/images/play.gif" alt="" /></a>';
					html += '<p><a href="' + video.url + '" target="_blank"><strong>' + video.title + 
						'</strong></a> <span>(' + video.duration + ')</span></p>'
					html += '</div>';
				}
				}
	
				$('#last-movie h3').after(html);
			});
		}
	
		if (UOLData.videosTagcloud)
		{
			UOLData.videosTagcloud(function(data)
			{
				var html = '';
	
				if (data.length> 0)
				{
				for(var i in data)
				{
					if (parseInt(i) > 20)
					{
						break;
					}
					var tag = data[i];
	
					html += '<a href="' + tag.url + '" target="_blank"><span class="s' + tag.weight.toString() + 
						'">' + tag.description + '</span></a> ';
				}
				}
	
				$('#tags h3').after(html);
			});
		}
	});
	
	</script>