Posts Tagged ‘api’

Acesse a API do Yahoo! Meme com Ruby

May 1st, 2010

A API do Meme pode user acessada utilizando o YQL (Yahoo Query Language) que
permite usar uma sintaxe similar ao SQL para recuperar os dados do Meme, um exemplo seria:

SELECT * FROM meme.info WHERE name='jtadeulopes';

Clique aqui e veja o resultado dentro do console.

Diante disso, durante o Yahoo! Open Hack Day Brasil 2010 resolvi escrever uma gem para acessar a API do Meme utilizando Ruby.

O desenvolvimento ainda esta no início, mas já é possível realizar as seguintes ações:

  • Buscar um usuário
  • Followers e Following
  • Buscar posts
  • Busca os posts mais populares do momento

Instalando

A instalação é bem simples, basta executar o comando

sudo gem install meme

Usando

Localizando um usuário

É possível localizar um usuário e suas informações desta maneira

user = Meme::Info.find('jtadeulopes')

user.name
=> "jtadeulopes"

user.description
=> "software developer"

# outros métodos disponíveis:

user.avatar_url  # URL do avatar.
user.title       # Breve descrição do meme do usuário.
user.guid        # O GUID do usuário.
user.language    # Idioma selecionado pelo usuario no Meme.
user.url         # URL do Meme do usuário.
user.followers   # Seguidores do usuário.
user.following   # Quem o usuário segue.

Buscando posts

posts = Meme::Post.find('brhackday')

post = posts.first

post.content
=> "RT @codepo8: And I am off - plane leaves BR for London. Thanks to everybody I met at #brhackday..."

# Cada post possui os métodos:

post.category       # Categoria do post.
post.timestamp      # Data de publicação.
post.guid           # GUID do usuário.
post.pubid          # ID de publicação do post.
post.url	    # URL do post.
post.repost_count   # Número de vezes que este post foi anunciado.
post.caption        # Legenda do post.
post.type	    # Tipo de mídia. Valores válidos são "text", "photo", "video" ou "audio".
post.content        # Conteúdo publicado.
 

Você pode especificar o tipo de mídia que deseja localizar, as opções são: photo, video, audio ou text.

Por padrão, o tipo text é assumido caso nenhum seja especificado.

posts = Meme::Post.find('meme rocks', :type => :photo)

Populares

Retorna os 10 posts mais populares. Você pode definir o local que deseja pesquisar. Os valores suportados são “en” para Inglês, “es” para o espanhol, “pt” para Português e “id” para Bahasa Indonésia.

Por padrão, o valor pt é assumido caso nenhum seja especificado

popular = Meme::Post.popular

popular.first.caption
=> "Haha duvido que não vai repostar esse sorriso mais lindo ...."

popular = Meme::Post.popular('id')

popular.first.caption
=> "Kemarin dia menawarkan cinta, hmm sayang harganya terlalu mahal jadi aku putuskan untuk tak memilikinya..."
 

Quer contribuir?

O projeto é open source e seu código fonte este no Github. Existe um TODO list para um controle do que foi feito e o que ainda precisa ser implementado.

Qualquer dúvida, deixe um comentário!